简单的语句:$(".selector").click(function(){ $(this).attr("class","newClass"))
解释:首先给你指定的元素绑定一个click事件,点击就执行增加class,同时清除其他class的 *** 作。attr是jquery一个设置元素属性的方法。通过该方法直接给被点击的元素添加新的class,默认会覆盖掉之前class属性的值。
拓展:attr方法参考 http://www.w3cschool.cn/attributes_attr.html
addClass() 方法向被选元素添加一个或多个类。该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。
removeClass() 方法从被选元素移除一个或多个类。如果没有规定参数,则该方法将从被选元素中删除所有类。
拓展资料:提问中的解决方法如下:
没理解你的提问,你的重点是each还是 *** 作动态添加的DOM?
关于 *** 作动态添加的DOM,需要用delegate或on来进行事件绑定,动态添加的DOM元素也同样绑定了该事件,原理就是事件代理,即事件冒泡。
<div class="container"><ul class="list-wrap">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
</ul>
</div> $('.container').delegate('.item','click',function(){
handler()//执行函数
})
3. 如果必须用each来 *** 作,可以使用自定义事件,当添加新DOM之后,trigger('event_name')即可。在绑定自定义事件时的handler执行函数逻辑中使用each即可。只有dom插入页面后,才能获取到该元素
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)