2016-05-12 21 views
0

我正在尋找不僅適用於最接近的'div',而是適用於div的所有子元素。jQuery的應用CSS到最接近的div的所有子元素

代碼中,我目前所面對的是這樣的

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

這隻穿股利,其中包含八個白色選擇框的背景下,我想他們都具有相同的背景顏色。

通過定期的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> 
+1

你可以添加你的HTML結構嗎?另外,你的CSS選擇器和jQuery選擇器也在做不同的事情。 – Uzbekjon

+0

試圖在手機上添加代碼 –

回答

0

您可以使用下面

下面的代碼
$(document).ready(function(){ 
    var purpleBackgroundCss = {"background-color": "purple"}; 
    $(".classname").closest('div').css(purpleBackgroundCss).children('div').css(purpleBackgroundCss); 
    }); 
+0

嗨米娜,感謝您的回覆,這個作品,但似乎你能夠只使用一次定義CSS。 $(「。classname」)。closest('div')。children()。css({「background-color」:「purple」}); –

1

您可以使用jQuery。孩子

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

謝謝.children()選項與我一起尋找.closest(div)。您是否知道是否有將這個應用於任何元素的類,該類名包含某些字符,例如... $(「。* class *」).children()。css({「background-color 「:」purple「}); –

1

您的CSS示例將背景應用於.classname的所有直接子項。 要使用jQuery達到同樣的效果,你可以做到以下幾點:

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

jQuery中的「最近」函數查找,選擇器相匹配,從開始所選元素的最近的祖先元素本身。在你的代碼中,.classname似乎是一個div,所以.closest('div')匹配元素本身(沒有效果),並且背景被應用到它。

+0

謝謝.children()選項是我一直在尋找與.closest(div)一起使用的選項。您是否知道是否有將這個應用於任何元素的類,該類名包含某些字符,例如... $(「。* class *」).children()。css({「background-color 「:」purple「}); –