Javascript 点击按钮';不带jquery的按类名排序的id

Javascript 点击按钮';不带jquery的按类名排序的id,javascript,Javascript,我不想将jquery用于这个小任务 HTML javascript 我需要按钮单击时的id。 我的js代码看起来像 <script > document.getElementsByClassName('cls_btn').onclick = function(){ alert(this.id); }; </script> document.getElementsByClassName('cls_btn')。onclick=funct

我不想将jquery用于这个小任务

HTML

javascript 我需要按钮单击时的id。
我的js代码看起来像

<script >
    document.getElementsByClassName('cls_btn').onclick = function(){
        alert(this.id);
    };
</script>

document.getElementsByClassName('cls_btn')。onclick=function(){
警报(this.id);
};

GetElementsByCassName
返回DOM元素的列表,因此需要循环该列表,并为每个元素添加一个事件侦听器:

var buttons = document.getElementsByClassName('cls_btn');
for (var i = 0; i < buttons.length; i++) {
    buttons[i].addEventListener('click', function() {
        alert(this.id);
    });
}
var buttons=document.getElementsByClassName('cls_btn');
对于(变量i=0;i

文档。GetElementsByCassName
返回DOM对象的列表。将
.onclick
应用于html项目集合不会产生任何结果。不会引发任何错误,但无论如何都不会看到预期结果

试试这个:

var buttons = document.getElementsByClassName('cls_btn');

for (var i = 0; i < buttons.length; i++){
    buttons[i].onclick = function(){ alert(this.id) };
}

请参见此处:

getElementsByClassName
返回一个数组。您需要循环此项以将onlcick处理程序添加到每个项:

var buttons = document.getElementsByClassName('cls_btn');
for (var i = 0; i < buttons.length; i++) {
    buttons[i].onclick = function(){
        alert(this.id);
    };
}
var buttons=document.getElementsByClassName('cls_btn');
对于(变量i=0;i

示例-

您可以使用这个|无jquery

window.onload=function(){
var ele=document.getElementsByClassName('cls_btn');

对于(var i=0;我知道如何在jquery中通过类名查找id。为什么我只在这个任务中使用jquery?我没有告诉你必须使用jquery。我只是提供了两种解决方案供你决定。我有两个按钮,所以没有循环:
var buttons=document.getElementsByCassName('cls_btn');按钮[0]。addEventListener('click',function(){alert(this.id);});按钮[1]。addEventListener('click',function(){alert(this.id);})
在2021年仍然有效-进展缓慢;)
$('.cls_btn').click(function() {
  console.log($(this).attr('id'));
});
var buttons = document.getElementsByClassName('cls_btn');
for (var i = 0; i < buttons.length; i++) {
    buttons[i].onclick = function(){
        alert(this.id);
    };
}
window.onload=function(){
    var ele = document.getElementsByClassName('cls_btn');
    for(var i=0;i<ele.length;i++)
    {
        addEventHandler(ele[i],'click',doWhatever);
    }
}
function addEventHandler(elem,eventType,handler) {
 if (elem.addEventListener) // for rest of browsers
     elem.addEventListener (eventType,handler,false);
 else if (elem.attachEvent) // for IE
     elem.attachEvent ('on'+eventType,handler); 
}
function doWhatever()
{
  // do whaterver you want
  alert(this.id);   
}