<div id="container">
<p class="text">First</p>
<p class="text">Second</p>
<p class="text other">Third</p>
<p class="text last">Fourth</p>
</div>
使用document.getElementsByClassName('text')
我获得了所有4个元素。如何选择类text
但不类last
的每个元素?还应选择text other
。
使用Javascript / JQuery有一些简单的方法来实现这一点吗?
答案 0 :(得分:1)
您可以使用:not()
选择器,因此它应为$('.text:not(.last)')
或$('.text').not('.last')
$('.text:not(.last)').css('color', 'red')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<p class="text">First</p>
<p class="text">Second</p>
<p class="text other">Third</p>
<p class="text last">Fourth</p>
</div>
&#13;
答案 1 :(得分:1)
您可以将querySelectorAll
与not
document.querySelectorAll('p.text:not(.last)');
答案 2 :(得分:1)
使用HTML5选择器API querySelectorAll()
和:not()
选择器:
document.querySelectorAll('.text:not(.last)')
工作代码示例:
document.querySelectorAll('.text:not(.last)').forEach(function(p){
console.log(p.textContent)
});
<div id="container">
<p class="text">First</p>
<p class="text">Second</p>
<p class="text other">Third</p>
<p class="text last">Fourth</p>
</div>
使用jQuery $('.text:not(.last)')
工作代码示例:
$('.text:not(.last)').each(function(){
console.log($(this).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<p class="text">First</p>
<p class="text">Second</p>
<p class="text other">Third</p>
<p class="text last">Fourth</p>
</div>