可以使用jQuery的attr方法来实现对某一元素的的class的属性的添加或者删除,attr() 方法设置或返回被选元素的属性值.根据该方法不同的参数,其工作方式也有所差异,可以使用removeclass来删除class属性。
工具原料:编辑器、浏览器
1、为li添加class属性:
为某个li元素添加class=“special”的属性
$('li').attr('class','special')2、删除class属性:
$("li").removeClass("special")})
如果只是个视觉修饰而不是逻辑功能的话,能用css实现的效果就不要用js去做,css3的选择器:nth-of-type()可以判断奇偶,虽然有可能低版本IE不支持,但是视觉效果的话低版本放弃就完了。
<style>
ul li:nth-of-type(odd){奇数行样式}
ul li:nth-of-type(even){偶数行样式}
<style>
如果我说服不了你,一定要js的话,那么继续:
<script id="jquery_182" type="text/javascript" class="library"
src="/js/sandbox/jquery/jquery-1.8.2.min.js"></script>
<meta charset="utf-8" />
<ul id="list">
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
</ul>
<script>
function CheckLI() {
var obj = document.getElementById("list").getElementsByTagName("li")//取得#list下所有li
for(var i=0i<obj.lengthi++){//循环出每个li
//下面两句中添加class用的jquery的addClass()方法,需要载入JQ才支持,js原生的方法需要IE10才支持,兼容的方法要另外写函数,手打的,直接最简单的JQ实现
if(i % 2 == 0) {$(obj[i]).addClass("ou")}//如果被2整除是偶数
else {$(obj[i]).addClass("ji")}//否则是奇数
}
}
window.onload = CheckLI//网页载入后执行以上函数
</script>
<style>
.ji{color: red}
.ou{color: yellow}
</style>
你应该是想实现风琴菜单或者类似效果的吧?推荐使用jquery(轻量级的js封装组件)很方便的实现了风琴菜单。一定要用js的话代码太长了我给你点思路。首先为元素绑定onclick事件,一级li和二级li区别对待。你没说清楚哪里不明白,我就猜一下你是不知道如何选中二级节点的父节点。选中当前节点的父节点的方法是this.parentNode就是当前节点的父节点了。你可以if this.onclick 那么this.parentNode.class就改为什么什么。你试试