Str*_*_99 3 jquery jquery-selectors
我在选择li无序列表中的特定元素时遇到问题.虽然这不是一个主要问题,我可以找到一种解决方法,但我真的很想知道为什么它不起作用.
我的HTML:
<div id="myList">
<ul>
<li>something 1</li>
<li>something 2</li>
<li>something 3</li>
<li>something 4
<ul>
<li>sub something 1</li>
<li>sub something 2</li>
<li>sub something 3</li>
</ul>
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我的问题是:
$('#myList ul:first li:first').addClass('cool')
Run Code Online (Sandbox Code Playgroud)
这会将类添加到"something 1"li标签中.一切都很好.但:
$('#myList ul:first li:last').addClass('cool')
Run Code Online (Sandbox Code Playgroud)
不是将类添加到"4"li标签,而是将其添加到"sub something 3"li标签中.
为什么?
您正在树下选择所有li-Tags.
你可能想试试这个:
$('#myList ul:first>li:last').addClass('cool')
Run Code Online (Sandbox Code Playgroud)
这样,您只能选择前一个节点的直接子节点.