【发布时间】:2016-10-31 04:13:13
【问题描述】:
我试图仅检索“行”下的顶级“div”,同时排除每个中的嵌套“div”。我的代码也抓取了嵌套的 div。
var container = $(event.target).closest('.row').children('div');
console.log(container);
输出:
<div class="ELEMENT I WANT ONLY">
<div class="nested element I do not want">
<div class="nested element I do not want">
</div>
</div>
</div>
我不相信我可以使用类作为选择器,因为类因元素而异。
我的目标是选择“行”和它下面的第一个“div”,以便我可以更改该 div 类中的引导列设置。不同的行有不同数量的 div 需要修改,因此如果存在,我需要获取比第一个更多的 div。
【问题讨论】:
-
$("div-element").not($(".div-element").childNode())? -
该代码获取任何
div,它是具有类"row"的元素的直接子元素。divs 的后代是 DOM 树的一部分,所以它们自然会跟随它们。如果您对返回的元素进行操作,则只会影响所选的div。换句话说,container.addClass('yada')只会将"yada"类添加到那些子divs。 -
@MikeMcCaughan - 感谢您的解释,我不明白为什么它会返回 DOM 树的其余部分,并认为在我纠正此问题之前继续我的代码毫无意义。
标签: jquery