getElementById、getElementsByName与getElementsByTagName的用法与区别

getElementById、getElementsByName与getElementsByTagName的用法与区别

getElementById:

语法: document.getElementById(id)

参数:id :必选项为字符串(String)

返回值:对象; 返回相同id对象中的第一个,如果无符合条件的对象,则返回 null

example:document.getElementById(“id1”).value;

getElementsByName:

语法: document.getElementsByName(name)

参数:name :必选项为字符串(String)

返回值:数组对象; 如果无符合条件的对象,则返回空数组

example:document.getElementsByName(“name1”)[0].value;

document.getElementsByName(“name1”)[1].value;

getElementsByTagName:

语法: object.getElementsByTagName(tagname) object可以是document或event.srcElement.parentElement等

参数:tagname:必选项为字符串(String)

返回值:数组对象; 如果无符合条件的对象,则返回空数组

example:document.getElementsByTagName(“p”)[0].childNodes[0].nodeValue;

document.getElementsByTagName(“p”)[1].childNodes[0].nodeValue;

注意:getElementsByName    有s在里面

document.getElementById()可以控制某个id的tag

document.getElementsByName(),返回的是一个具有相同 name 属性的元素的集合,而不是某个,注意有“s”。

而 document.getElementsByTagName() 返回的是一组相同 TAG 的元素集合。

同一个name可以有多个element,所以用document.getElementsByName(“theName”),他return 一个collection,引用的时候要指名index

var test = document.getElementsByName(‘testButton’)[0];

id那个,是唯一的

getElementsByName返回的是所有name为指定值的所有元素的集合

“根据 NAME 标签属性的值获取对象的集合。”

集合比数组要松散的多, 集合里每个子项的类型可以不同, 集合只是把某些元素放在一起作为一类来使用, 相比之下数组就严格多了, 每个子项都是统一的类型. getElementsByName, getElementsByTagName, formName.elements 这类方法所得到的结果都是集合.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据