2016-02-12 75 views
0

Fiddle上更改CSS元素讓你的想法如何基於其他元素

<div class="change" style="width:150px;">xyz</div> 
<div class="change" style="width:350px;z-index:999">XYZ</div> 

我有同一個類的兩個div中內嵌的CSS不同,我想添加的元素的z-index之一第一個div作爲z-index:99,沒有直接將它添加到內聯css中,因爲我沒有對它們的任何控制,因此無法向該div添加新類,因爲我得到的兩個div都是通過jquery並且無法從我的末尾進行編輯

基於該特定類的內聯css寬度我可以通過jquery或任何其他更好的可能解決方案添加新的內聯-css元素嗎?

在此先感謝

+1

'$。 first()。css({'z-index':99,'color':'red'});',把''color':'red''僅用於演示https://jsfiddle.net/t280ena2/2/ –

回答

2

的第一個

jQuery('.change').first().css('z-index',1000); 

jQuery('.change:first-child').css('z-index',1000); 

的最後一個

jQuery('.change').last().css('z-index',1000); 

爲第n個孩子

jQuery(".change:nth-child(n)").css('z-index',1000); 

https://api.jquery.com/category/selectors/child-filter-selectors/

+0

爲什麼你有2個第一個孩子的方法'jQuery('。change:first-child')。first()'會選擇什麼? –

+0

更正!謝謝.. –

0

你可以使用jQuery

var w = $('.change:first').width(); 
$('.change:last').css('width', w + 'px'); 
1

其下方head CSS很簡單..add在<style> </style>

.change:first-child{ 
    z-index:99; 
} 
+0

你必須假設在這種情況下,你想要的.change元素永遠是第一個。 – davidelrizzo

+0

你需要先嚐試上面的代碼。 –

0

請使用:

$(".change").each(function(){ 
    if($(this).css("width") == "150px"){ 
    $(this).css("z-index",99); 
    } 
}); 
0

你可以用純CSS定位準確直列屬性:作爲要與財產,如果它發生了改變,這將打破

.change[style*='width:150px'] { z-index:99; } 

儘量具體。如果它匹配另一個元素,它也會應用這個樣式。

0

這個怎麼樣,你可以通過與change類物品的寬度進行過濾:( '變')

```

$(".change").filter(function(index) { 
    return $(this).width() === 150; 
}).css("z-index", 99); 

```