gpt4 book ai didi

jQuery 只查找非嵌套元素

转载 作者:行者123 更新时间:2023-11-30 23:43:09 26 4
gpt4 key购买 nike

鉴于此 HTML 结构

<div class="item">
<div class="item">
select me
<div class="item">don't select me</div>
</div>
<span>
<div class="item">select me</div>
</span>
</div>

还有这个 jQuery:

var firstItem = $('.item:first');
var selector = firstItem.find('.item');
selector.css('color', 'red');

我正在寻找一种方法来仅标记firstItem div内的非嵌套.item元素。这里棘手的部分是,firstItem 本身已经(或可以)嵌套在 .item 类中。

<小时/>

我尝试了什么?

firstItem.find('.item').not('.item .item')

这不起作用,因为我们开始的第一个级别已经是一个 .item 类。并且它已经可以嵌套 x 次,因此它可以是 .item .item .item .item 或其他。而且起始元素没有 ID,因此我也无法在选择器中使用它。

<小时/>

我认为解决方案应该类似于反转 .closest()它沿着 DOM 向下移动,并且不会搜索已找到的项目的内容。

在这里准备了一个jsFiddle:http://jsfiddle.net/LWmy3/2/

最佳答案

试试这个

var firstItem = $('.item:first');
$(firstItem).find(".item").each(function () {
//console.log($(this).parent(".item")[0])
if ($(this).parent(".item")[0] === undefined) {
$(this).css('color', 'red')
} else if ($(this).parent(".item")[0] != $(firstItem)[0]) {
$(this).css('color', 'cyan')
} else {
$(this).css('color', 'red')
}
});

Fiddle

关于jQuery 只查找非嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218483/

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