原生js实现jQuery的toggleClass功能以及多个dom元素绑定同一个事件

    xiaoxiao2022-07-04  153

    关键在于判断dom元素是否含有目标类名,判断函数如下:

    function toggleClass(ele,cln) { if ((' ' + document.querySelector(ele).className + ' ').indexOf(' ' + cln + ' ') > -1) { document.querySelector(ele).classList.remove(cln) } else { document.querySelector(ele).classList.add(cln) } }

    因为是多个dom元素需要同时判断,所以把他们写成数组

    var eleList = [".js-dom1", "#dom2", "#dom3"] eleList.map(function (val) { document.querySelector(val).addEventListener('click', function () { //调用上面的方法 toggleClass('.ele',className) }) })

    如果有更好的方法,欢迎骚扰;

     

    jq的写法:

    $(".dom1,#dom2,#dom3").click(function () { $(".ele").toggleClass(className) })

     

     

    点击这里查看启示文章

    最新回复(0)