本文介绍了javascript中获取元素的三种常用方法,即元素ID、标记名和类名,并附有示例。我希望你能喜欢他们。
有三种获取元素的常见方法,即通过元素ID、通过标记名和通过类名。
getElementById
DOM提供了一个名为getElementById的方法,该方法将返回一个节点对象及其对应的Id属性。使用时请注意区分大小写。
它是文档对象特有的函数,只能通过它调用该方法。使用的方法如下:
复制代码如下:
document . getelementbyid(' demo ')//demo是元素对应的ID。
这种方法兼容主流浏览器,甚至IE6,可以大胆使用。
getElementsByTagName
该方法返回一个对象数组(准确地说是HTMLCollection集合,它不是一个真正的数组),每个对象对应于文档中一个具有给定标签的元素。类似于getElementById,同样,这个方法只提供一个参数,它的参数是指定标记的名称。示例代码如下:
复制代码如下:
document . getelementsbytagname(' Li ')//Li是标签的名称。
应该注意,这个方法不仅可以被文档对象调用,也可以被普通元素调用。例子如下:
复制代码如下:
var demo=document . getelementbyid(' demo ');
var lis=demo . getelementsbytagname(' Li ');
同样,这种方法兼容主流浏览器,甚至IE6,可以大胆使用。
getElementsByClassName
除了通过指定标签来获取元素,DOM还提供了getElementsByClassName方法来获取具有指定类名的元素。然而,由于这种方法相对较新,它不被IE6等较老的浏览器支持。但是,我们可以通过hack来弥补旧浏览器缺陷。该方法的调用如下:
复制代码如下:
document . getelementsbyclassname(' demo ')//演示为元素指定的类名
与getElementsByTagname一样,该方法不仅可以由文档对象调用,也可以由普通元素调用。
对于较老的浏览器,比如IE6和IE7,我们可以通过下面的hack方法来实现:
复制代码如下:
函数getElementsByClassName(节点,类名){
if(node . getelementsbyclassname){
返回node . getelementsbyclassname(class name);
}否则{
var结果=[];
var elems=node . getelementsbytagname(' * ');
for(var I=0;长度;i ){
if(elems[I]. class name . index of(class name)!=-1){
结果[结果.长度]=elems[I];
}
}
返回结果;
}
}
拓展
如果你不仅满足于上述元素选择的方法,还喜欢JQuery,可以通过选择器获取元素。实现方法和上面的getElementsByClassName类似,有兴趣可以自己实现一套选择器。不过我觉得以上三种方法结合事件冒泡就足够了。毕竟这三种方法性能都很优秀。
这就是本文的全部内容。希望对你有帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。