JavaScript中的getElementsByTagName
我刚接触纯JavaScript的语法, 你知道为什么“getElementsByTagName”不能在我的简单testing中工作:
var btn = document.getElementsByTagName('button'); console.log(btn); btn.onclick=function(){ alert('entered'); document.getElementById("demo").innerHTML="test"; }
小提琴
应该
var btn = document.getElementsByTagName('button')[0];
代替
var btn = document.getElementsByTagName('button');
getElementsByTagName
返回匹配元素的数组。 所以使用0
索引来访问button。
更多关于getElementsByTagName()
要么
您可以在button上提供特定的ID,并可以使用getElementById()
JS
var btn = document.getElementById('myButton');
HTML
<button id="myButton">....</button>
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"; }; }
getElementsByTagName()
返回一个数组,你必须通过索引访问它。
要select单个元素,请使用getElementById('id here');
该方法本身说得到元素 。
只需用btn [0]replacebtn,像这样 –
btn[0].onclick=function(){ alert('entered'); document.getElementById("demo").innerHTML="test"; }