以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。
- ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。
- Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。
- TagName可看似某类,getElementsByTagName获取相同类的人集合。
把上面的例子转换到HTML中,如下:
<input type="button" name="btn1" id="btn" value="CodeEra">
input标签就像人的类别。name属性就像人的姓名。id属性就像人的身份证。
document.getElementById("btn"); //得到的是单个元素
document.getElementsByName("btn1")[0]; //得到的是数组
document.getElementsByTagName("input")[0]; //得到的是数组
getElementById:
语法: document.getElementByIdx(id)
参数:id :必选项为字符串(String)
返回值:对象;
返回相同id对象中的第一个,如果无符合条件的对象,则返回 null
example:document.getElementByIdx(“id1”).value;
getElementsByName:
语法: document.getElementsByName(name)
参数:name :必选项为字符串(String)
返回值:数组对象; 如果无符合条件的对象,则返回空数组
example:
document.getElementsByName(“name1”)[0].value;
document.getElementsByName(“name1”)[1].value;
getElementsByTagName:
语法: object.getElementsByTagName_r(tagname) object可以是document或event.srcElement.parentElement等
参数:tagname:必选项为字符串(String)
返回值:数组对象; 如果无符合条件的对象,则返回空数组
example:
document.getElementsByTagName_r(“p”)[0].childNodes[0].nodeValue;
document.getElementsByTagName_r(“p”)[1].childNodes[0].nodeValue;