簡體   English   中英

FireFox警告“未知的偽類或偽元素'被隱藏'”不斷重復運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM