通过js遍历ul下的li,给每行的最后一个li赋上不同CLASS值!急,有会的帮下忙吧!

每行3个li,CSS已经写好了。因为是动态循环,所以我问的是怎么用JS控制每行前2个li的CLASS=picrp 第3个的CLASS=picrt
代码:
<ul>

<li class="picrp">

<li class="picrp">

<li class="picrt">

<li class="picrp">

<li class="picrp">

<li class="picrt">

<li class="picrp">

<li class="picrp">

<li class="picrt">

</ul>

<html>
<head></head>
<body>
<ul>
<li class="picrp">
<li class="picrp">
<li class="picrt">
<li class="picrp">
<li class="picrp">
<li class="picrt">
<li class="picrp">
<li class="picrp">
<li class="picrt">
</ul>
<script type="text/javascript">
var target = document.getElementByid("target");
var lis = target.getElementsByTagName('li');
var i_cur;
for(var i=0; i<lis.length; i++){
i_cur = i%2;
if(i_cur<1){
lis[i].className = 'picrp';
}else{
lis[i].className = 'picrt';
}
}
</script>
</body>
</htmL>

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-05
如果不适用js来控制的话,你可以这样做:
所有的li的class都一样为 picrp
.picrp{//这是普通样式
}
.picrp:nth-child(3n-1){//所有3的倍数的li的样式
}
第2个回答  2013-12-05
// 看你贴的代码,3个li是一行吧
var lis = '';
var className;
for (var i = 0; i < 9; i++) {
    if ((i + 1) % 3 == 0) { // 3, 6, 9
        className = 'picrt';
    } else {
        className = 'picrp';
    }
    
    lis += '<li class="' + className + '"></li>'
}
alert(lis);

第3个回答  2013-12-05
用jquery吧 比较简单

$("ul li:not(:nth-child(3n))").addClass("picrp");
$("ul li:nth-child(3n)").addClass("picrt");
相似回答