我对纯JavaScript的语法不熟悉;你知道为什么" getElementsByTagName"在我的简单测试中不起作用:
var btn = document.getElementsByTagName('button');
console.log(btn);
btn.onclick=function(){
alert('entered');
document.getElementById("demo").innerHTML="test";
}
答案 0 :(得分:1)
getElementsByTagName返回一个数组,而不是单个元素。您需要遍历结果并将功能单独附加到每个结果,如下所示:
var buttons = document.getElementsByTagName('button');
for( var x=0; x < buttons.length; x++ ) {
buttons[x].onclick = function(){
alert('entered');
document.getElementById("demo").innerHTML="test";
};
}
答案 1 :(得分:0)
应该是
var btn = document.getElementsByTagName('button')[0];
而不是
var btn = document.getElementsByTagName('button');
getElementsByTagName
返回匹配元素的数组。因此,使用0
索引来访问该按钮。
或强>
您可以在按钮上提供特定ID,并可以使用getElementById()
<强> JS 强>
var btn = document.getElementById('myButton');
<强> HTML 强>
<button id="myButton">....</button>
答案 2 :(得分:0)
getElementsByTagName()
返回一个数组,您必须通过它们的索引访问该数组。
要选择单个元素,请使用getElementById('id here');
该方法本身表示获取元素。
答案 3 :(得分:0)
只需将btn替换为btn [0],就像这样 -
btn[0].onclick=function(){
alert('entered');
document.getElementById("demo").innerHTML="test";
}