gpt4 book ai didi

javascript - 查找没有特定类的直接子元素的元素

转载 作者:行者123 更新时间:2023-11-30 14:40:51 27 4
gpt4 key购买 nike

在 HTML 元素的页面中,我试图找到一个类为 .dmc 的父元素,该父元素不包含具有特定类 .dynamic 的直接子元素, 使用 JQuery。

我试过:

$('.dmc:not(:has(.dynamic))')

但是这会检查所有后代,而我只想检查第一级后代。

我认为有一个非常简单的答案,但我想不出来。任何帮助表示赞赏!

最佳答案

由于 :has 已经是特定于 jQuery 的,您可以使用无根的 >,jQuery 的 Sizzle 选择器引擎似乎支持它:

$(".dmc:not(:has(> .dynamic))").addClass("green");
// --------------^

$(".dmc:not(:has(> .dynamic))").addClass("green");
.green {
color: green;
font-weight: bold;
}
<div class="dmc">1</div>
<div class="dmc">2
<div class="dynamic">dynamic</div>
</div>
<div class="dmc">3</div>
<div class="dmc">4
<div class="dynamic">dynamic</div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

但是我有点担心它,可能会改用filter:

$(".dmc").filter(function() {
return $(this).children(".dynamic").length == 0;
}).addClass("green");

$(".dmc").filter(function() {
return $(this).children(".dynamic").length == 0;
}).addClass("green");
.green {
color: green;
font-weight: bold;
}
<div class="dmc">1</div>
<div class="dmc">2
<div class="dynamic">dynamic</div>
</div>
<div class="dmc">3</div>
<div class="dmc">4
<div class="dynamic">dynamic</div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

关于javascript - 查找没有特定类的直接子元素的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696290/

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