JQuery 点一下就增加class,同时清除其他的class如何做?

JQuery 点一下就增加class,同时清除其他的class如何做?,第1张

简单的语句:$(".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插入页面后,才能获取到该元素


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11626320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存