2010-07-09 74 views
1

如何編寫jQuery選擇器來測試li是否具有至少有一個不是.disabled的li(可能是其他類或根本沒有類)的ul。不僅具有特定子元素的ul元素

是的聽起來很複雜,但很簡單 - 我需要知道是否有內部lis上沒有「禁用」類的uls。

喜歡的東西

$("li").filter("*:has(ul:has(li:not(.disabled)))") 

回答

2

可以縮短一點,就像這樣:

$("li").filter(":has(ul li:not(.disabled))") 

You can try it here。由於<li><ul>的孩子,所以你可以這樣引用它,不需要額外的混淆Sizzle(鏈中的多個:not()也這樣做)。

,除非有一個<ol>的可能性,你可以遠程將ul部分爲好,只是有:

$("li").filter(":has(li:not(.disabled))") 
+0

我做了「不(.disabled)」從我的頭,沒想到,這是可能是一個有效的jQuery選擇器;-)這表明jQuery選擇器語法非常直觀。還要感謝小提琴工具鏈接,非常有用。 – queen3 2010-07-12 07:40:04

相關問題