document.getElementById('frmMain').elements
我可以使用这样
document.getElementByName('frmMain').elements
要么
document.getElementBytag('table').elements`
name
属性,请加ID的元素,如果你想使用的getElementById一个伟大的选择是
All
- 这是一个集合。在[0]会得到网页上的第一种形式的元素。 “形式”是一个有效的CSS选择器在所有的上述情况,.elements
可以通过例如.querySelectorAll("[type=text]")
获得所有文本元素被替换
如果在文档中不存在这样的元件getElementById返回任一个的提及一个元素具有id相匹配的参数,或为空。
getElementsByName()(注意多个元件)返回具有匹配参数的名称的元件的(可能为空)的HTMLCollection。需要注意的是IE对待名和id属性和属性同样的事情,所以getElementsByName将返回也ID匹配的元素。
getElementsByTagName类似,但返回NodeList。这一切都没有在相关规范。
我假设你正在谈论getElementById()
返回一个元素的引用,而其他人返回一个节点列表。刚下标为其他节点列表,例如document.getElementBytag('table')[4]
。
此外,elements
只是一个形式(HTMLFormElement
)的属性,而不是table
比如在你的榜样。
这是getElementsByName()
和getElementsByTagName()
- 注意“的”中“元素”,表明这两个函数会返回一个元素,即节点列表,你会像访问数组列表。需要注意的是第二个函数与“变量名”而不是“标签”结束。
即使函数只返回一个元素,它仍然会在长度为1的节点列表。所以:
var els = document.getElementsByName('frmMain');
// els.length will be the number of elements returned
// els[0] will be the first element returned
// els[1] the second, etc.
假设您的形式是第一个(或唯一的),你可以做到这一点在页面上表格:
document.getElementsByName('frmMain')[0].elements
document.getElementsByTagName('table')[0].elements
如果您已经为您的标识和名称的属性给予相同的文字名称,你可以给喜欢document.getElementByName('frmMain')[index]
其他明智所需的对象错误,如果你在你的页面只有一个表,你可以使用document.getElementBytag('table')[index]
将come.And。
编辑:
您可以根据您的形式代替指标,如果它的第一种形式的地方0索引。
getElementsByName()
方法访问具有指定名称的所有元素。此方法返回是一个数组元素的集合。getElementsByTagName()
访问与指定的标记的所有元素。此方法返回是一个数组元素的集合。例如:
<script type="text/javascript">
function getElements() {
var x=document.getElementById("y");
alert(x.value);
}
</script>
</head>
<body>
<input name="x" id="y" type="text" size="20" /><br />
这将返回一个单一的HTML元素,并显示它的值属性。
<script type="text/javascript">
function getElements() {
var x=document.getElementsByName("x");
alert(x.length);
}
</script>
</head>
<body>
<input name="x" id="y" type="text" size="20" /><br />
<input name="x" id="y" type="text" size="20" /><br />
这将返回的HTML元素和匹配的name属性的元素的数目的阵列。
从W3Schools的提取。