我有以下標記:jQuery的理解兄弟姐妹方法是如何工作
<ul id="selected-plays" class="clear-after">
<li>Comedies
<ul>
<li><a href="/asyoulikeit/">As You Like It</a></li>
<li>All's Well That Ends Well</li>
<li>A Midsummer Night's Dream</li>
<li>Twelfth Night</li>
</ul>
</li>
<li>Tragedies
<ul>
<li><a href="hamlet.pdf">Hamlet</a></li>
<li>Macbeth</li>
<li>Romeo and Juliet</li>
</ul>
</li>
<li>Histories
<ul>
<li>cat</li>
<li><a href="hamlet.pdf">dog</a></li>
</ul>
</li>
</ul>
我試圖讓所有不包含任何鏈接嵌套li元素。所以,我的jQuery看起來像
var list = $('li > a').parent().siblings();
返回6個結果,我知道這一點,但假設我添加一些額外的鋰元素,以「春秋」像這樣:
<li>Histories
<ul>
<li>cat</li>
<li><a href="hamlet.pdf">dog</a></li>
<li><a href="hamlet.pdf">mouse</a></li>
<li><a href="hamlet.pdf">monkey</a></li>
</ul>
</li>
如果我運行相同jquery代碼,我現在得到了9個結果,原來的6加上包含「dog」,「mouse」和「monkey」的3 li元素。這是我困惑的地方。這是我認爲它的工作原理。
- 喜劇 - 3個兄妹
- 悲劇 - 2個兄妹
- 歷史
- 第一匹配元件(狗) - > 3點的兄弟姐妹(貓,小鼠,猴)
- 第二匹配元件(小鼠) - > 3個兄弟姐妹(貓,狗,猴)
- 第3個配對元素(猴子) - > 3兄弟姐妹(貓,狗,老鼠)
- 結果集迄今爲止 (貓* 3,狗* 2,鼠標* 2,猴* 2)
- 最終結果集(去除愚弄) (貓,狗,小鼠,猴) - 4總
3 + 2 + 4 = 9
它是如何工作的?
是的,它似乎是它自己消除欺騙。我在任何地方都找不到它真的這麼做,所以它只是一種預感。感謝您的驗證! –