Javascript FireFox警告“;未知的伪类或伪元素';隐藏的'&引用;一次又一次地跑
我最近发现Firefox上出现了一个警告 警告:未知伪类或伪元素“隐藏” 这是第页 当到达包含img:hidden的javascript部分时,就会出现警告 $('img:hidden').eq(0).fadeIn(500)//在隐藏的图像中逐个淡出 i++//在计数中加1 所以我想知道是否有人知道如何解决这个警告Javascript FireFox警告“;未知的伪类或伪元素';隐藏的'&引用;一次又一次地跑,javascript,jquery,Javascript,Jquery,我最近发现Firefox上出现了一个警告 警告:未知伪类或伪元素“隐藏” 这是第页 当到达包含img:hidden的javascript部分时,就会出现警告 $('img:hidden').eq(0).fadeIn(500)//在隐藏的图像中逐个淡出 i++//在计数中加1 所以我想知道是否有人知道如何解决这个警告 谢谢 不幸的是,这是JQuery本身的一个缺陷。见: 检查firebug,即使在他们的示例页面上,您也会收到同样的警告。它引用了一个不存在的CSS伪类:hidden。在使用$('im
谢谢 不幸的是,这是JQuery本身的一个缺陷。见:
检查firebug,即使在他们的示例页面上,您也会收到同样的警告。它引用了一个不存在的CSS伪类:hidden。在使用
$('img:hidden')
时,第一步是通过setInterval
真正停止重复调用doThis()。因此,警告每隔500毫秒出现一次
改变
$(document).ready (function() {
var int = setInterval("doThis(i)",500);
});
$('img:hidden').eq(0).fadeIn(500);
到
否则,对clearInterval(int)
的调用将不会执行任何操作,因为您声明了var int
两次,并尝试清除不是间隔的“外部”int
在此修复之后,控制台中只应保留4-5条此警告
现在来谈谈你的错误。要阻止此错误准确地出现在调用doThis()
的次数上,您所能做的不多
jQuery在内部使用Sizzle作为选择器引擎。在某些情况下,Sizzle会尝试使用(在支持的浏览器上)函数来查找与选择器匹配的元素
现在AFAIK是隐藏的
不是一个有效的CSS选择器,因此尽管Firefox支持调用querySelectorAll()
,但它在遇到未知的选择器后正确地失败了。jQuery捕获错误,然后选择image:hidden
本身
如果您根本不想看到此错误,可以使用不同的jQuery语法,在本例中,这将阻止Sizzle尝试使用querySelectorAll()
改变
$(document).ready (function() {
var int = setInterval("doThis(i)",500);
});
$('img:hidden').eq(0).fadeIn(500);
到
但我不建议您这样做,因为它实际上不会让您在控制台中减少4-5个警告。谢谢,我采用了这种策略,尽管它仍然报告4-5个警告。这是一个比每500毫秒运行一次更好的解决方案!