关键在于判断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)
})
点击这里查看启示文章