我有作爲可以被概括一個粗糙的導航結構:差)和:具有()
<ul id="navigation">
<li>
A
<ul>
<li>
B
<ul>
<li>C</li>
</ul>
</li>
<li>
D
<ul>
<li>
E
<ul>
<li>F</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
子項被隱藏直到懸停。我想表明,B,d和E通過它們的造型,所以我使用的選擇有子項:
$('#navigation > li li:has(ul)')
其中僅退還B和D.將其更改爲:
$('#navigation > li li').has('ul')
返回所有正確的項目,但我爲什麼困惑。
EDIT
:has()
似乎沒有受到影響(完全地)通過嵌套作爲
$('#navigation ul > li:has(ul)')
返回相同的結果如上述.has()
。
在我看來,結果應該是一樣的。我不知道他們爲什麼不同。也許Sizzle放棄尋找嵌套元素時發現一場比賽。如果是這樣,這似乎忽略了相同的嵌套元素的可能性(如你在你的例子中)。 – user113716 2010-10-19 17:37:15