2013-08-18 55 views
0

我正在尋找一種方法來選擇所有不可見的元素。 類似於webkit.window.document.querySelectorAll("p:hidden")JavsScript。選擇所有不可見的元素。 (僅限WebKit)

例如,在HTML

<html> 
<head></head> 
<body> 
    <p>123</p> 
    <p style="display:none;"></p> 
</body> 
</html> 

我可以選擇與"p[style*='display:none']"無形的,但如果displaynone之間存在空間,這是行不通的。像<p style="display: none;"></p>

總之,我需要一種方法來選擇使用WebKit的所有不可見元素。

回答

-1

如果您正在使用jQuery選擇元素,下面的代碼會滿足您的要求,檢測

var allHiddenElements = $("body *").filter(
    function() { 
     return $(this).css("display") == "none"; 
    }); 
+0

我不在這種情況下使用jQuery。只需將HTML加載到WebKit對象中,然後對其進行處理。也許WebKit支持類似於jQuery的東西:hidden。 – user2647801

+0

順便說一句,謝謝你的回答:) – user2647801

+0

沒有使用jQuery和只使用webkit的任何特定原因(畢竟,我想你正在寫javascript代碼)? –

0

的一種方式,如果一個元素是隱藏的是檢查其offsetHeight

return (this.offsetHeight > 0) 
+0

最好使用return this.style.display!='none' –

+0

@ArunAravind no,只檢查this.style。顯示將是一個錯誤。 – Christophe

+0

沒有。如果你想隱藏一個元素,你應該有意地這樣做。將會有許多其他的元素是空的,並且僅僅爲了樣式目的而添加,甚至作爲目標:空選擇器。 –

相關問題