JQuery: 如何 select a class 没有带有 id 的父元素的元素?
JQuery: How to select a class without elements of a parent with id?
我有一个 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>
我想通过 class 名称 myclass
获取所有不在 ul
中且 ID listB
.
的元素
我对 $('.myclass:not ul #listB')
的尝试无效。
您可以按如下方式使用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>
您可以提供超过 1 个 class 个名字。所以把 listA class 给 li ,它在 listA
<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')
。我想这会有所帮助!
使用$('.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>
我有一个 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>
我想通过 class 名称 myclass
获取所有不在 ul
中且 ID listB
.
我对 $('.myclass:not ul #listB')
的尝试无效。
您可以按如下方式使用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>
您可以提供超过 1 个 class 个名字。所以把 listA class 给 li ,它在 listA
<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')
。我想这会有所帮助!
使用$('.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>