如何在盛大的父级div中找到并应用风格?

时间:2012-02-19 20:57:04

标签: javascript jquery

有没有办法可以找到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

3 个答案:

答案 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');