一次将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