一次将click事件附加到多个元素?
这是我在jQuery中的代码:
$('.paragraph, .section, .heading').on('input', function (e) { localStorage.setItem($(this).attr('id'), $(this).text()); });
是否有任何JavaScript等价物我可以一次附加所有事件?
您可以将querySelectorAll
与多个元素选择器一起使用,然后将事件侦听器添加到每个元素
var elements = document.querySelectorAll(".a, .b"); for (var i = 0; i < elements.length; i++) { elements[i].addEventListener("click", function() { console.log("clicked"); }); }
假设您要将click事件添加到多个元素,然后将其类名设置为示例demo
demos= document.getElementsByClassName('demo'); for (var i = 0; i < demos.length; i++) { demos[i].addEventListener('click',redirect,false); } function redirect(){ alert(this.id); }
工作时尚
归功于:
Javascript单击多个元素上的事件侦听器并获取目标ID
articles = document.getElementsByTagName('button'); for (var i = 0; i < articles.length; i++) { articles[i].addEventListener('click',redirect,false); } function redirect(){ alert(this); }
阅读Jquery Multiple Selector
$( "div, span, p.myClass" ).css( "border", "3px solid red" );
div, span, p { width: 126px; height: 60px; float: left; padding: 3px; margin: 2px; background-color: #eee; font-size: 14px; }
div p class="myClass"
p class="notMyClass"
span