我有一个ul
元素:
<ul id="listA">
<li class="myclass">1</li>
<li class="myclass">2</li>
<li class="myclass">3</li>
<li class="myclass">4</li>
<li class="myclass">5</li>
<li>
<ul id="listB">
<li class="myclass">B1</li>
<li class="myclass">B2</li>
<li class="myclass">B3</li>
<li class="myclass">B4</li>
</ul>
</li>
</ul>
我想通过类名myclass
获取所有元素,这些元素不在ID为listB
的ul
中。
我对$('.myclass:not ul #listB')
的尝试不起作用。
发布于 2020-12-13 03:38:44
您可以按如下方式使用not
:
const res = $('*:not(ul#listB) > .myclass');
console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="listA">
<li class="myclass">1</li>
<li class="myclass">2</li>
<li class="myclass">3</li>
<li class="myclass">4</li>
<li class="myclass">5</li>
<li>
<ul id="listB">
<li class="myclass">B1</li>
<li class="myclass">B2</li>
<li class="myclass">B3</li>
<li class="myclass">B4</li>
</ul>
</li>
</ul>
发布于 2020-12-13 03:40:42
使用$('.myclass').not('#listB .myclass')
$('.myclass').not('#listB .myclass').css('color', 'red')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="listA">
<li class="myclass">1</li>
<li class="myclass">2</li>
<li class="myclass">3</li>
<li class="myclass">4</li>
<li class="myclass">5</li>
<li>
<ul id="listB">
<li class="myclass">B1</li>
<li class="myclass">B2</li>
<li class="myclass">B3</li>
<li class="myclass">B4</li>
</ul>
</li>
</ul>
发布于 2020-12-13 03:40:15
您可以指定1个以上的类名。因此将listA中的listA类提供给li
<ul id="listA">
<li class="myclass inListA">1</li>
<li class="myclass inListA">2</li>
<li class="myclass inListA">3</li>
<li class="myclass inListA">4</li>
<li class="myclass inListA">5</li>
<li>
<ul id="listB">
<li class="myclass">B1</li>
<li class="myclass">B2</li>
<li class="myclass">B3</li>
<li class="myclass">B4</li>
</ul>
</li>
</ul>
现在就像$('.inListA')
一样使用它。我想这会有帮助的!
https://stackoverflow.com/questions/65269009
复制相似问题