Mar*_*arc 3 jquery jquery-selectors
鉴于页面上某处的HTML(可能不同):
<div id="start">
<div>
<div class="buttons">select this</div>
<div class="myControl">
<div class="buttons">dont select this</div>
</div>
<div>
<div class="buttons">select this</div>
</div>
</div>
</div>?
Run Code Online (Sandbox Code Playgroud)
我想用buttons红色标记所有元素:
$('#start').find('.buttons').css('color','red');?
Run Code Online (Sandbox Code Playgroud)
但不是如果它们在里面myControl,所以只有"选择这个"div应该是红色的.
在伪代码中,选择器将是
使用类"按钮"获取每个元素,但忽略类"myControl"中的所有元素
编辑
我不知道启动div也可以有"myControl"类(尽可能地从我的项目中删除代码以使其可读),所以实际上它看起来像这样(和完整的块也可以用myControl嵌套在更多的div中.
所以不幸的是(对我原来的问题是正确的)答案在那种情况下不起作用,对不起!知道如何调整其中一个答案来解决这个问题吗?
<div class="myControl" id="start">
<div>
<div class="buttons">select this</div>
<div class="myControl">
<div class="buttons">dont select this</div>
</div>
<div>
<div class="buttons">select this</div>
</div>
</div>
</div>?
Run Code Online (Sandbox Code Playgroud)
这里有新的jsfiddle.
解
所以最终的解决方案是:
$('#start').find('.buttons:not("#start div.myControl div.buttons ")')
.css('color','red');?
Run Code Online (Sandbox Code Playgroud)
你可以使用.not
$('#start').find('.buttons:not("div.myControl > div.buttons ")').css('color','red');?
Run Code Online (Sandbox Code Playgroud)
的jsfiddle
| 归档时间: |
|
| 查看次数: |
2957 次 |
| 最近记录: |