将css添加到:last-child,但前提是它不是:odd

时间:2012-10-22 07:25:55

标签: jquery

我有一个动态生成的div列表,我有这个脚本,以便制作交替的背景颜色 - 为了IE的缘故。

<style type="text/css">
.box { height:30px; width:100px; background-color:#fff; }
</style>

<script type="text/javascript">
    $(document).ready(function () {
    $(".box:odd").css("background-color", "#f1f1f1");
    });
</script>

我的HTML:

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
...

我想将一个特殊的CSS样式应用于:last-child,但前提是:last-child不是:odd - 仅当它具有白色背景时才有意义。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

 $(".box:last").not(':odd').css("background-color", "#f1f1f1"); 

答案 1 :(得分:4)

仅限CSS:

.box:last-child:nth-child(even) { /* Special CSS here */ }

这比使用jquery更好。

答案 2 :(得分:0)

你可以试试这个:

$(document).ready(function () {
    if($('.box').length-1%2!=0){
        $(".box:odd").filter(":last").css({"background":"red"});            
    }
});

这里是小提琴: http://jsfiddle.net/jYxeA/