getElementById和getElementsByTagName的区别

您所在的位置:网站首页 元素和集合的区别举例 getElementById和getElementsByTagName的区别

getElementById和getElementsByTagName的区别

2024-07-16 21:53| 来源: 网络整理| 查看: 265

getElementById和getElementsByTagName归纳起来有五大区别:

1、getElementById获取的是单个元素对象,getElementsByTagName获取多个元素,是元素的集合,注意:不是数组。

2、对象不同,getElementById只能是document对象,而getElementsByTagName可以是任意对象。

3、getElementsByTagName使用时必须加[number],即使只有一个元素对象时。如果不加将会出错。

4、getElementsByTagName多一个length属性。

5、最需要注意,也是最难以理解的:

  getElementById不支持innerHTML动态添加元素,就是说用innerHTML动态添加的元素无法获取

  getElementsByTagName支持动态innerHTML添加元素,能获取

 

window.onload=function(){ //document.title=123; //document.body.innerHTML='abc'; //ByTagName动态方法特性 var aBtn=document.getElementsByTagName('input'); var oBtn=document.getElementById('btn'); document.body.innerHTML=''; //alert(aBtn.length); aBtn[0].onclick=function(){alert(1);}; aBtn[1].onclick=function(){alert(2);}; aBtn[2].onclick=function(){alert(3);}; alert(oBtn.length);}

代码说明:按钮的点击事件可以添加成功,但是oBtn.length无法弹出,说明document.getElementById('btn')没有获取到,而document.getElementsByTagName('input')可以获取到。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3