Javascript 编写jQuery选择器来过滤没有子类的子div
考虑以下HTML 有没有一种简单的方法可以编写jQuery选择器来获取容器div的所有子类,而容器div不包含任何子类 例如,我需要编写一个选择器$'myselector'。每个都只获取值为value2、value5、value6、value7、value9的项div,因为这些div没有任何子类Javascript 编写jQuery选择器来过滤没有子类的子div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,考虑以下HTML 有没有一种简单的方法可以编写jQuery选择器来获取容器div的所有子类,而容器div不包含任何子类 例如,我需要编写一个选择器$'myselector'。每个都只获取值为value2、value5、value6、value7、value9的项div,因为这些div没有任何子类 也许我忽略了显而易见的事实。但是我做了一个快速搜索,只获得了很少的信息。您可以使用此选择器: $('.container [class=item]') $('.container .item:not(
也许我忽略了显而易见的事实。但是我做了一个快速搜索,只获得了很少的信息。您可以使用此选择器:
$('.container [class=item]')
$('.container .item:not(.sub)')
它使每个子类的class属性完全等于item,这样就没有其他类了
但是它不是真正可伸缩的,如果您需要添加另一个不排除元素的类,该怎么办
也许你应该考虑将一个类添加到其他元素,如:
<div class="container">
<div class="item sub medium type"> value1 </div>
<div class="item"> value2 </div>
<div class="item sub large"> value3 </div>
<div class="item sub small"> value4 </div>
<div class="item"> value5 </div>
<div class="item"> value6 </div>
<div class="item"> value7 </div>
<div class="item sub medium"> value8 </div>
<div class="item"> value9 </div>
</div>
您可以使用此选择器:
$('.container [class=item]')
$('.container .item:not(.sub)')
它使每个子类的class属性完全等于item,这样就没有其他类了
但是它不是真正可伸缩的,如果您需要添加另一个不排除元素的类,该怎么办
也许你应该考虑将一个类添加到其他元素,如:
<div class="container">
<div class="item sub medium type"> value1 </div>
<div class="item"> value2 </div>
<div class="item sub large"> value3 </div>
<div class="item sub small"> value4 </div>
<div class="item"> value5 </div>
<div class="item"> value6 </div>
<div class="item"> value7 </div>
<div class="item sub medium"> value8 </div>
<div class="item"> value9 </div>
</div>
试一试
或属性选择器
$('.container [class=item]').each(function(){
//do your stuff
});
试一试
或属性选择器
$('.container [class=item]').each(function(){
//do your stuff
});
您可以使用$div[class$='item']
您还可以查看一下您可以使用$div[class$='item']
如果您像这样使用属性选择器,也可以查看:
$('.container [class=item]')
<div class="item">value1</div>
然后它将只匹配与以下内容完全相同的元素:
$('.container [class=item]')
<div class="item">value1</div>
如果像这样使用属性选择器:
$('.container [class=item]')
<div class="item">value1</div>
然后它将只匹配与以下内容完全相同的元素:
$('.container [class=item]')
<div class="item">value1</div>
谢谢,我考虑过了。但是,我不想指定子类!谢谢,我考虑过了。但是,我不想指定子类!我编辑了我的答案来删除。从选择器中删除的项目,实际上是无用的,而且不干燥。如果他要添加新类,最好在他需要的项目上添加类,比如,然后使用$'。normal'@IgorJerosimić访问它。我完全同意,但我假设他不想改变正常的东西,只是想在其他东西上加些东西。但是,如果可以在所需元素上添加一个普通类,那么肯定会更好!我编辑了我的答案来删除。从选择器中删除的项目,实际上是无用的,而且不干燥。如果他要添加新类,最好在他需要的项目上添加类,比如,然后使用$'。normal'@IgorJerosimić访问它。我完全同意,但我假设他不想改变正常的东西,只是想在其他东西上加些东西。但是,如果可以在所需元素上添加一个普通类,那么肯定会更好!