Javascript 编写jQuery选择器来过滤没有子类的子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(

考虑以下HTML

有没有一种简单的方法可以编写jQuery选择器来获取容器div的所有子类,而容器div不包含任何子类

例如,我需要编写一个选择器$'myselector'。每个都只获取值为value2、value5、value6、value7、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]')
$('.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ć访问它。我完全同意,但我假设他不想改变正常的东西,只是想在其他东西上加些东西。但是,如果可以在所需元素上添加一个普通类,那么肯定会更好!