在Javascript中使用getAttribute和addEventListener

时间:2018-02-15 12:35:57

标签: javascript addeventlistener getattribute

在javascript中我创建了一些html来显示一个名为' characters'的

中的5个游戏角色:

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中,我添加了一个我想要返回游戏角色名称的点击事件:

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获取&#39; character.name&#39; (包含在...中的内容)

感谢 史蒂夫

1 个答案:

答案 0 :(得分:1)

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

this.querySelector('h2').textContent;

另见: