Jquery 我如何追踪这些Firefox警告消息?

Jquery 我如何追踪这些Firefox警告消息?,jquery,firefox,jquery-selectors,firebug,message,Jquery,Firefox,Jquery Selectors,Firebug,Message,自从我升级到jQuery 1.4.4之后,在Firefox 3.6.13中运行单元测试时,我收到了几个新的警告消息。这是一个典型的例子: Warning: Unexpected token in attribute selector: '!'. Source File: http://localhost/unitTests/devunitTests.html Line: 0 或者更有用的: Warning: Selector expected. Source File: http://loca

自从我升级到jQuery 1.4.4之后,在Firefox 3.6.13中运行单元测试时,我收到了几个新的警告消息。这是一个典型的例子:

Warning: Unexpected token in attribute selector: '!'.
Source File: http://localhost/unitTests/devunitTests.html
Line: 0
或者更有用的:

Warning: Selector expected.
Source File: http://localhost/unitTests/ui/editors/iframe2.html?test=15
Line: 0

网页呈现得很好,我所有的JavaScript代码似乎也运行得很好,所以我不愿意花大量时间来切碎代码来跟踪这些消息。但是,有人能提出引起警告的原因吗?

基本上,Firefox对javascript有严格的规则,会在不影响javascript代码运行的琐事上返回错误。在我脑海中定义不带
var
的变量将在错误控制台中创建某种警告,尽管这样做是完全正确的。这些类型的编码实践对于缩小javascript并使javascript整体更精简和运行更快来说是正常的——您会注意到,大多数错误实际上都发生在jQuery本身

您可以在此处阅读有关Firefox严格javascript错误的更多信息:

可以关闭严格警告,但在开发过程中可能不建议这样做


TL;DR:如果一切正常,不要担心他们,FF只是太挑剔了。

你可能有这样的问题:

$(selectorVariable)
…还有一些类似的东西:

$("something[" + attributeNameVariable + "!=somethingElse]")

在这两种情况下,变量为空都会出错,因为
”选择器[!=value]”
不是有效的选择器。只需查看您在选择器中使用的变量,并添加
if()
检查,以便在这些情况下不会运行选择器是否无效(有时变量中的空字符串很好,这取决于它的使用位置)。

看起来您在jQuery中使用这些变量是正确的,因此,我只希望它们在未来的版本中消失。@Charles-这不是一个jQuery错误,这是一个无效的选择器,您试图使用它…错误确实是正确的,请参阅我的答案以进行检查。我刚刚剥离了HTML文件,只剩下一个空标记和一个包含单个标记的jQuery 1.4.4。我收到一条单独的警告消息:“属性选择器中的意外标记:‘!’”。我认为这可能是jQuery的问题。我现在已经转到Firefox4,那些新的警告消息不再存在。