2013-03-18 49 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

相关问题