<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() 相对应