单击时js怎么更改li里的class名称并显示出来应用该类的效果?

JavaScript08

单击时js怎么更改li里的class名称并显示出来应用该类的效果?,第1张

javascript中className属性可以获取和设置对象的类名,下面进行实例演示:单击li元素,该元素在red类之间切换(即单击一次显示红色,再次单击恢复原来的颜色,如此循环)。

1、HTML结构

<ul>

<li>Glen</li>

<li>Tane</li>

<li>John</li>

<li>Ralph</li>

</ul>

2、主要的css类

li{margin:5pxlist-style: none}

.red{color:red !important}

3、javascript代码

window.onload = function(){

obj_li = document.getElementsByTagName("li") // 获取li对象数组

for(k in obj_li)

obj_li[k].onclick=function(){  // 为每个li注册单击事件

this.className = this.className == "red"? "" : "red"    // 如果当前类为red,则取消当前类;否则,为当前元素添加red类

}

}

4、效果展示

jquery可以使用attr()或prop()方法修改类名,javascript可以修改对象的className属性,关键代码如下:

$("#test").attr("class","blue")

$("#test").prop("class","blue")

document.getElementById("test").className = "blue"

你可以用jquery的.live方法

live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。

语法

$(selector).live(event,data,function)

参数描述

event必需。规定附加到元素的一个或多个事件。

由空格分隔多个事件。必须是有效的事件。

data可选。规定传递到该函数的额外数据。

function必需。规定当事件发生时运行的函数。