问题是:现在ul里面总共有6个li(ps:li个数有可能变化的),但是我只要显示前面2个跟后面2个li,
中间其余的li全部增加隐藏的class,这样子要怎么做?
var liLength = $("#外层包装div li").length;
for(var i = 0; i < liLength; i++){
if (i > 1 && i < liLength - 2)
$("#外层包装div li")[i].style.display='none';
}
可以参考jquery的遍历函数:http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp
写了一个类似的给你参照,根据这些遍历函数,肯定能够达到你想要的效果
(引用了在线的jquery库)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="http://code.jquery.com/jquery-1.7.2.js" ></script>
<script>
$(function(){
var sum=0;
$("#list").children("li").each(function(){
sum++;
});
var i=0;
$("#list").children("li").each(function(){
i++;
if(i!=1&&i!=2&&i!=sum&&i!=sum-1){
$(this).addClass("red");
}
});
});
</script>
<style type="text/css">
.red{
color: red;
}
</style>
</head>
<body>
<ul id="list">
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</body>
</html>