有没有办法可以找到div的祖父并为它应用样式?
<div class="wrapBoxes">
<div class="filters"></div>
<div class="wrapContainer"> <-- Need to apply style to this -->
<div class="leftNav"></div>
<div id="container">
<div class="box"></div> <-- From here -->
</div>
</div>
</div>
有这种逻辑吗?
$(".box").find(grandParent).applyWhateverCss to GrandParent
答案 0 :(得分:4)
两次使用parent
:
$(".box").parent().parent().css('color', 'blue');
parent
docs:
描述:获取当前匹配元素集中每个元素的父元素,可选择通过选择器进行过滤。
您也可以使用closest
。
$(".box").closest('.wrapContainer').css('color', 'blue');
closest
docs:
描述:获取与选择器匹配的第一个元素,从当前元素开始并逐步向上遍历DOM树。
parent().parent()
,否则请使用closest
答案 1 :(得分:1)
作为表演你也可以使用.closest(selector[,context])
即
$('.box').closest('.wrapContainer','.wrapBoxes').css('color','yellow');
通过这种方式,您可以将DOM遍历限制为仅div.wrapBoxes
答案 2 :(得分:0)
$(".box").parent().parent().css('color','red');
应该这样做。
或者,如果“wrapContainer”类始终存在:
$(".box").parents('.wrapContainer').css('color','red');