jquery将css应用于最近div的所有子元素

时间:2016-05-12 21:17:05

标签: jquery css3

我希望不仅将css应用于最接近的'div',而且还应用于div的所有子元素。

我目前的代码看起来像这样

$(document).ready(function(){
$(".classname").closest('div').css({"background-color": "purple"});
});

这只会在div上添加一个背景,其中包含八个白色选择框,我希望它们都具有相同的背景颜色。

使用常规css我会通过.classname>执行此操作。 * {背景色:红色;}

html类似于

<div>
<select>
<option class="classname"></option>
</select>
<select>
<option class="other"></option>
</select>
<select>
<option class="other"></option>
</select>
<select>
<option class="other"></option>
</select>
</div>

3 个答案:

答案 0 :(得分:1)

您可以使用jquery .children

$(".classname").closest('div').css({"background-color": "purple"});
$(".classname").closest('div').children().css({"background-color": "purple"});

答案 1 :(得分:1)

您的CSS示例将背景应用于.classname的所有直接子项。 要使用jQuery获得相同的结果,您可以执行以下操作:

&#13;
&#13;
$(document).ready(function(){
    $(".classname").children().css({"background-color": "purple"});
});
&#13;
&#13;
&#13;

最近的&#39; jQuery中的函数从元素本身开始查找与选择器匹配的所选元素的最近祖先。在你的代码中,.classname似乎是一个div,所以.closest(&#39; div&#39;)匹配元素本身(没有效果)并且背景应用于它。

答案 2 :(得分:0)

您可以使用以下代码

n