天天看点

getElementById getElementsByName getElementsByTagName tagNamegetElementsByTagName():

<input type="text" name="myOptionName" value="CSS">

document.getElementByName("myOptionName").value

document.getElementsByName("myOptionName").value

document.getElementId("myOptionName").value

第 一个报错说不支持属性。

第二个得到市空值。

第三个可得到值css。

这几个有三名细微区别吗?

document.getElementByName 方法没有。

document.getElementsByName得到的是标签的数组

document.getElementId得到的 是某一个标签

getElementByName不存在

只有getElement__S__ByName 和 getElementById

byId 的时候,会根据html元素的id属性,根据规范id应当是唯一的,用来标示一个element,比如<td>, <div> ......。所以返回唯一元素句柄或者null。对于表单控 件<input><select><textarea>等,在不指定id的时候,name也会被视作id,比 如<input type="text" name="abc" value="123">也可以用document.getElementById("abc")来获取

而byName,从名字上看,就可 以知道,它返回的是复数个对象。它根据name属性(name可以重复),得到所有name属性与参数相同的控件组成的数组,不存在时,返回0长度数组 (.length == 0,而不是null)

比如

<input type="text" name="abc" value="1">

<input type="text" name="abc" value="2">

<input type="text" name="abc" value="3">

var array = document.getElementsByName("abc");

if (array.length == 0) {

alert("Error");

return;

}

for (var i = 0; i < array.length; i++) {

alert(array.value);

}

getElementsByTagName():

                                      方法可返回带有指定标签名的对象的集合。

与 tagName() 相对应

继续阅读