2

如果元素具有特定属性,如何将样式应用于元素的父级?这是我正在使用的示例...

<div>
    <div class="inner"></div>
    <div class="inner"></div>
    <div class="inner"></div>
</div>
<div>
    <div class="inner active"></div>
    <div class="inner"></div>
    <div class="inner"></div>
</div>
<div>
    <div class="inner"></div>
    <div class="inner"></div>
    <div class="inner"></div>
</div>

...当具有“内部”类的子元素也包含“活动”类时,我想将背景颜色应用于 out div。这是我一起破解的 jQuery 解决方案,它似乎不起作用......

if ($("div.inner").hasClass("active")) {
    $(this).parent().css("background", "yellow");
};

有没有人想到一个修复或更好的方法?谢谢。

另外,可选地,我如何让它根据“内部”div中的特定文本应用样式,而不是应用特定的类?再次感谢。

4

3 回答 3

16
$("div.inner.active").parent().css("background", "yellow");

jsfiddle:http: //jsfiddle.net/g4gBx/1/

于 2012-05-21T20:58:51.187 回答
0

还需要注意的是,目前还没有办法根据纯 CSS 中的子元素属性、属性或文本来影响父元素的样式。

于 2012-05-21T20:59:54.553 回答
0

$(".active").parents('div').css("text-align", "center");

于 2017-08-08T13:12:38.627 回答