[英]FireFox warning “Unknown pseudo-class or pseudo-element 'hidden' ” keeps running over and over
我最近發現Firefox中發生了一條警告,內容為
警告:未知的偽類或偽元素“隱藏”
這是頁面http://eleven23.net/eleven23/beta/work/web/lounge22.php
當警告到達具有img:hidden的javascript部分時,就會發生警告
$('img:hidden')。eq(0).fadeIn(500); //在隱藏的圖像中i ++一對一淡入淡出; //對計數加1
因此,我想知道是否有人對如何解決此警告有任何想法。
謝謝!
第一步是通過setInterval
真正停止對doThis()
的重復調用,該調用目前尚未發生。 因此,警告每500毫秒出現一次。
更改
$(document).ready (function() {
var int = setInterval("doThis(i)",500);
});
至
$(document).ready (function() {
int = setInterval("doThis(i)",500);
});
否則,您對clearInterval(int)
的調用將clearInterval(int)
因為您兩次聲明了var int
並嘗試清除不是間隔的“外部” int。
修復此問題之后,控制台中僅應保留此警告的4-5。
現在到您的錯誤。 您可以采取許多措施來阻止此錯誤在您調用doThis()
出現多次。
jQuery內部使用Sizzle作為選擇器引擎。 在某些情況下,Sizzle嘗試使用(在支持的瀏覽器上) querySelectorAll()
函數來查找與選擇器匹配的元素。
現在AFAIK已被hidden
不是有效的CSS選擇器,因此,盡管Firefox支持對querySelectorAll()
的調用,但在遇到未知選擇器后,它querySelectorAll()
正確失敗。 jQuery捕獲錯誤,然后選擇image:hidden
本身。
如果您根本不想看到此錯誤,則可以使用其他jQuery語法,在這種情況下,這將阻止Sizzle嘗試嘗試使用querySelectorAll()
。
更改
$('img:hidden').eq(0).fadeIn(500);
至
$('img:hidden', $('div#content_wrapper')).eq(0).fadeIn(500);
但是我不建議您這樣做,因為它並不能在控制台中真正減少4-5個警告。
不幸的是,這是JQuery本身的錯誤。 參見: http : //docs.jquery.com/Selectors/hidden
檢查firebug,即使在他們的示例頁面上,您也會收到同樣的警告。 它引用了一個不存在的CSS偽類:hidden。 您在哪里使用$('img:hidden')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.