我有以下嵌套列表:
<ul id="myList">
<li>
<ul>
<li class="red"></li>
<li class="black"></li>
</ul>
</li>
<li class="red"></li>
<li class="red"></li>
<li class="black"></li>
</ul>
如何选择“红色”和“黑色”类的元素,这些元素只直接出现在外部(不包括嵌套标记内的那些)?
答案 0 :(得分:1)
答案 1 :(得分:0)
$("#myList>.red ,#myList>.black")
“&gt;” 中意思是儿子,所以选择器“#myList&gt; .red”表示id为#myList的儿子(有红色等级)的div,这不会选择孙子。
“,”表示加入另一个选择器,使用#myList&gt; .red你可以找到两个元素,#myList&gt; .black你也可以找到一个。
我想这是你期望的结果。抱歉我的英语不好。我还建议你阅读jQuery选择器,这是非常基本和重要的。
答案 2 :(得分:0)
尝试使用.not()
选择不属于任何元素的子元素的.red
,.black
类
$(".red, .black").not("#myList * *").css("color", "blue")
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="myList">
<li>
<ul>
<li class="red"></li>
<li class="black"></li>
</ul>
</li>
<li class="red"></li>
<li class="red"></li>
<li class="black"></li>
</ul>
&#13;