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"; }