Javascript 隐藏函数$console错误?

Javascript 隐藏函数$console错误?,javascript,jquery,Javascript,Jquery,我用它作为querySelector的简写 例如:$('.MainClass').style.display='none' 它实际上也可以工作,但Chromes Console logger显示了一个错误: function $(e){return document.querySelector(e)} 这很奇怪,因为当使用$('cssslectorhere')时它仍然有效。我之所以这样做,是因为我太习惯jQuery了,所以我喜欢$符号。但是我讨厌在控制台日志中看到这个错误,无论如何要删除它?您

我用它作为
querySelector
的简写

例如:
$('.MainClass').style.display='none'

它实际上也可以工作,但Chromes Console logger显示了一个错误:

function $(e){return document.querySelector(e)}

这很奇怪,因为当使用
$('cssslectorhere')
时它仍然有效。我之所以这样做,是因为我太习惯jQuery了,所以我喜欢
$
符号。但是我讨厌在控制台日志中看到这个错误,无论如何要删除它?

您还没有提供所有的代码。在某个地方,你正在这样做:

 Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': '[object HTMLDocument]' is not a valid selector.
这可以在jQuery中使用,但不能在
querySelector
中使用,因为它不是选择器

请删除该用法,或将
$
函数更改为处理
文档

$(document)

您尚未提供所有代码。在某个地方,你正在这样做:

 Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': '[object HTMLDocument]' is not a valid selector.
这可以在jQuery中使用,但不能在
querySelector
中使用,因为它不是选择器

请删除该用法,或将
$
函数更改为处理
文档

$(document)

听起来您的代码好像在某处试图传递
文档
对象,而不是
$(文档)
中的字符串选择器。您可以通过将代码更改为以下内容来解决此问题:

function $(e){
    return e === document ? document : document.querySelector(e);
}
然后,这将适用于您传递的任何DOM对象,例如
document
document.body


或者,你可以让它更简单:

function $(e){
    if (typeof e === "string") {
        return document.querySelector(e);
    } else {
        return e;
    }
}

有关
isNode()
函数的讨论/参考,请参阅。

听起来您的代码好像在某处试图传递
文档
对象,而不是
$(文档)
中的字符串选择器。您可以通过将代码更改为以下内容来解决此问题:

function $(e){
    return e === document ? document : document.querySelector(e);
}
然后,这将适用于您传递的任何DOM对象,例如
document
document.body


或者,你可以让它更简单:

function $(e){
    if (typeof e === "string") {
        return document.querySelector(e);
    } else {
        return e;
    }
}

有关
isNode()
函数的讨论/参考,请参阅。

Wow!我有
$(文档)。ajaxStart(function()
在我的代码中拼凑起来。我刚刚做了一个ctr+f并找到了它。删除了它,一切都很好。谢谢Alexis,对这样一个尴尬的错误感到抱歉!哇!我有
$(文档)。ajaxStart(function())
在我的代码中拼凑。我刚刚做了一个ctr+f并找到了它。删除了它,一切都很好。谢谢Alexis,对这样一个尴尬的错误感到抱歉!谢谢jfriend,但看起来我刚刚有了一个令人窒息的$(文档)在我的代码中浮动,但感谢您的时间。使用我的代码,可能会给您一个关于没有名为
.ajaxSetup()的方法的错误
并且会指出异常的行号,很容易看出哪里出了问题。我认为在这样一个常用的函数中使用更强大的错误检测和处理会更好。完全合理,我也会使用你的代码。但我已经接受了Alexis的正确答案。我希望这对你来说不是罪过使用你的密码,但将她标记为正确答案!哈哈,谢谢。祝你度过一个美好的夜晚:)@NiCkNewman-你应该选择你认为“最好”和“最有用”的答案答案-这就是绿色复选标记的意义所在。因为答案或理解会随着时间的推移而变化,所以你可以随时改变你的想法,哪一个答案是最好的答案。请随意使用代码-这就是它的意义所在。当你赢得更多的声望点时,你还可以投票给所有有用的答案,而不仅仅是选择最好的一个。谢谢jfriend,但看起来我的代码中有一个非常大的$(文档)浮动,不过感谢您的时间。如果使用我的代码,它会给您一个关于没有名为
.ajaxSetup()的方法的错误
并且会指出异常的行号,很容易看出哪里出了问题。我认为在这样一个常用的函数中使用更强大的错误检测和处理会更好。完全合理,我也会使用你的代码。但我已经接受了Alexis的正确答案。我希望这对你来说不是罪过使用你的密码,但将她标记为正确答案!哈哈,感谢你。祝你度过一个美好的夜晚:)@NiCkNewman-你应该选择你认为“最好”和“最有用”的答案-这就是绿色复选标记的含义。因为答案或理解会随着时间的推移而改变,你可以随时改变你的想法,哪一个答案是最好的答案。请随意使用代码-这就是它的用途。当你赢得了更多的声望点数时,你还可以对所有有用的答案进行投票,而不仅仅是选择最好的答案。