如何基于按类名循环遍历元素来引用元素'
How to reference an element's id based on looping through elements by class name
我有一个javascript对象与事件监听器对一堆基于类名的元素。这些元素中的每一个都有一个id,我将在对象中的其他函数中使用它。现在,我要做的就是让id在控制台中打印出来。我无法访问这些id。我的代码结构如下:
HTML
<div class="class-name" id="one" >Element 1</div>
<div class="class-name" id="two" >Element 2</div>
<div class="class-name" id="three">Element 3</div>
Javascript
window.onload = function() {
object.eListener();
}
var object = {
info : document.getElementsByClassName('class-name'),
eListener : function() {
var className = this.info;
for (var i = 0; i < className.length; i++) {
className[i].addEventListener('click', function() {
console.log(document.getElementsByClassName[i].id);
});
}
}
}
当单击事件侦听器的div时,控制台正在记录undefined
。我试过在不引用id的情况下记录元素,并用document.getElementByClassName
替换所有的className
变量,但这似乎也不起作用。
我如何打印类class-name
元素的id ?提前说明一下,我不会使用jQuery。
以下内容应该有所帮助: