javascript - 在 Javascript 中使用 getAttribute 和 addEventListener

标签 javascript addeventlistener getattribute

在 javascript 中,我创建了一些 html 来在名为“characters”的 div 类中显示 5 个游戏 Angular 色:

var element = document.getElementsByClassName('characters');
for(var i in characters){
    // build the character list
    element[0].innerHTML += '<div class="char-container"><img 
    src="'+characters[i].img.default+'" alt="'+characters[i].name+'">
    <h2>'+characters[i].name+'</h2><span class="type '+characters[i].type+'">
    </span></div>';
}

在 Javascript 中,我添加了一个点击事件,我想返回游戏 Angular 色名称:

var element = document.querySelectorAll ('.characters, .char-container');
let index = 0;
console.log ("element "+element.length);
for( index=0; index < element.length; index++ ) {
    clickerFn = function(){
        var attribute = (this).getAttribute('h2');
        alert("Hello World! +name "+attribute);
    }
    element[index].addEventListener('click', clickerFn, false);
} // for

这将返回 null :-(

问题:在 Javascript 中,如何使用 getAttribute 来获取“character.name”(其中包含的内容)

谢谢 史蒂夫

最佳答案

你不能。 h2不是属性<h2>是一个元素

this.querySelector('h2').textContent;

另请参阅:

关于javascript - 在 Javascript 中使用 getAttribute 和 addEventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48807462/

相关文章:

java - 在jsp中使用request.getAttribute后如何打印?

javascript - 如何摆脱 Firefox 中相对定位的 div 留下的空白?

javascript - `return false` 在由 addEventListener 或 element.on* 附加的事件处理程序中

php - 通过 DOM 或 XPATH 获取每个元素属性的宽度和高度

javascript - JQuery 在点击事件监听器和函数上,使用不同的参数会以不同的方式触发?

javascript - 检查点击顺序不起作用

javascript - 在 Polymer 函数中通过索引号调用列表项

javascript - ajax 调用阻止 anchor 标记的 HREF 值后返回 false 不起作用

javascript - 在第二个 HTML 页面上显示 JavaScript 函数的结果

javascript - 验证特定输入,Javascript