2013-03-18 57 views
1

我想知道,這是確定最後一個div並向其中添加新類的最佳方式。它是JavaScript還是css3?檢測類名爲x的最後一個div,並添加一個新類y

所以這裏是我的例子。假設我有這個:

<div class="items"> 
    <div class="raw">item 1</div> 
    <div class="raw">item 2</div> 
    <div class="raw">item 3</div> 
    <div class="raw">item 4</div> 
    <div class="raw">item 5</div> 
    <div class="raw">item 6</div> 
</div> 

怎麼樣?什麼方法?我可以添加到類名爲「raw」的最後一個div的新類名「new」?

使之成爲:

<div class="raw new">item 6</div> 
+0

你可以用CSS輕鬆選擇最後一個元素,但不能在沒有JavaScript的情況下添加一個類。 – j08691 2013-03-18 19:09:35

回答

3

剛:

$('div.raw:last').addClass('new'); 
+0

是的,如果我想找跨瀏覽器解決方案生病下去!它適用於所有瀏覽器...謝謝 – AndrewS 2013-03-18 19:22:02

1

在jQuery中那樣簡單:

$(".items > .raw:last").addClass("new"); 

在純JavaScript和querySelector

document.querySelector(".items > .raw:last-child").className += " new"; 
0
$('div.raw:last').addClass('new'); 
3

您可以通過純CSS去:

div.raw:last-child { 
    /* styles for the last element here */ 
} 

,或者,如果你需要一個子集

div.raw:last-of-type { 
    /* styles for the last element here */ 
} 

以防萬一,新類中更具體(-名稱)不是強制性的。

這兩個僞選擇器都與最新的W3C瀏覽器兼容。 IE開始於9.如果你迫切希望支持IE7 +,我推薦這個小小的lib:https://code.google.com/p/ie7-js/

+0

這個工作在IE7 +中嗎? – AndrewS 2013-03-18 19:12:07

+0

不,它只會在IE9 +中工作,請參閱http://caniuse.com/#search=last – Nelson 2013-03-18 19:13:00

+0

@AndrewS:已更新。 – jAndy 2013-03-18 19:13:33

相關問題