getElementById和getElementsByTagName的区别 |
您所在的位置:网站首页 › 元素和集合的区别举例 › getElementById和getElementsByTagName的区别 |
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 |