gpt4 book ai didi

jQuery 选择器所有元素不在子类中

转载 作者:行者123 更新时间:2023-12-01 00:45:22 24 4
gpt4 key购买 nike

给定页面上某处的 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>​

我想将所有带有 buttons 类的元素标记为红色:

$('#start').find('.buttons').css('color','red');​

如果它们位于myControl内部,因此只有“选择此”div 应该是红色的。

在伪代码中,选择器将是

Take every element with class "buttons" but ignore everything in elements with class "myControl"

我准备了一个jsfiddle here

<小时/>

编辑

我不知道起始 div 也可以有“myControl”类(试图尽可能地从我的项目中剥离代码以使其可读),所以实际上它看起来像这样(并且完整的 block 也可以使用 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>​

new jsfiddle here .

<小时/>

解决方案

所以最终的解决方案是这样的:

$('#start').find('.buttons:not("#start div.myControl div.buttons ")')
.css('color','red');​

最佳答案

你可以使用.not

 $('#start').find('.buttons:not("div.myControl > div.buttons ")').css('color','red');​

jsfiddle

http://jsfiddle.net/QqRuV/3/

关于jQuery 选择器所有元素不在子类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12796168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com