2012-05-30 116 views
2

我使用的原型框架,選擇所有有風情display:none選擇具有風格顯示沒有

的DIV所有DIV我使用

$$(".details-wrapper > div[style*=display:'none']") 

$$(".details-wrapper > div[style*=display:none]") 

,但它不是加工。任何建議?

+0

匹配樣式屬性幾乎總是一個壞主意 - 它不會匹配通過JavaScript或CSS規則設置的任何內容。在jQuery中,您可以簡單地使用':hidden'選擇器。 – ThiefMaster

+0

它通常會匹配通過JavaScript設置的東西,因爲腳本必須將其設置爲內聯或樣式表。至於通過樣式表設置的東西,我不認爲有一種方法可以與這些方法相匹配,並且不需要掃描頁面上的每個元素(蠻力),也不需要掃描樣式表,並嘗試每個可以設置「display:none」的選擇器'。 – Brilliand

+0

@ Brilliand--並非所有瀏覽器都反映屬性的屬性,因此基於屬性的選擇器可能無法獲取具有由腳本設置的屬性的元素。 – RobG

回答

0

嘗試

$$(".details-wrapper > div[style*='display:none']"); 

demo

+0

你可能也想嘗試'display:none'和'display:none'和'display:none',並且......你會發現漂移。可能只想分別搜索「display」和「none」,然後仔細檢查檢索到的元素是否真的被解析爲「display:none」。 – Brilliand

+0

僅供參考:通過currentStyle [「display」](對於舊IE)和「getComputedStyle(」display「,null)'(對於其他人)來檢查單個元素是否可以解析爲display:none。 – Brilliand

+0

呃...第二個'display:none'(在我的第一個評論中)是雙倍行距。很少,但也許是合法的。 – Brilliand