Javascript 将事件侦听器绑定到具有相同类的多个元素

Javascript 将事件侦听器绑定到具有相同类的多个元素,javascript,html,Javascript,Html,我正在尝试使用JavaScript将onclick事件应用于以下元素: <div class="abc">first</div> <div class="abc">second</div> <div class="abc">third</div> .onclick不希望收到字符串,事实上,您根本不需要额外的函数 但是,要将其分配给每个元素,请使用循环,就像我相信您一定在初学者教程中了解的那样 var els=docume

我正在尝试使用JavaScript将
onclick
事件应用于以下元素:

<div class="abc">first</div>
<div class="abc">second</div>
<div class="abc">third</div>

.onclick
不希望收到字符串,事实上,您根本不需要额外的函数

但是,要将其分配给每个元素,请使用循环,就像我相信您一定在初学者教程中了解的那样

var els=document.getElementsByClassName('abc');
对于(变量i=0;i
首先
第二

第三个
扩展了@rock star I提供的解决方案,在函数中添加了两个小的附加项。首先,向元素添加/重新移动类(带有关联的样式规则)比直接向元素应用样式规则要好

其次,在点击事件中,这将从先前选择的元素中删除红色类(因此也是样式),并将其添加到新元素中。这将一次只允许一个元素变为红色(在原始解决方案中,单击的任何元素都将变为红色)

var els=document.getElementsByClassName('abc');
对于(变量i=0;i
.red{
颜色:红色;
}
首先
第二
第三个
这是有效的:


第一
第二
第三
var elements=document.getElementsByClassName('abc');
对于(变量i=0,max=elements.length;i
谢谢,我真的忘了在for循环中为类编制索引
document.getElementsByClassName('abc')[0].onclick="function(){fun1();}";
function  fun1(){
document.getElementsByClassName('abc').style.color="red"; 
}