Document.getElementsByName()

根据给定的name (en-US) 返回一个在 (X)HTML document 的节点列表集合。

语法

elements = document.getElementsByName(name)
  • elements 是一个实时更新的 NodeList 集合。当文档中有同一个 name 属性的元素被添加或移除时,这个集合会自动更新。
  • name 是元素的 name 属性的值。

例子

html
<!doctype html>
<html lang="en">
  <head>
    ...
  </head>

  <body>
    <form name="up"><input type="text" /></form>
    <div name="down"><input type="text" /></div>

    <script>
      var up_forms = document.getElementsByName("up");
      console.log(up_forms[0].tagName); // returns "FORM"
    </script>
  </body>
</html>

注释

name (en-US) 属性只有在 (X)HTML 文档中可用。

该方法返回一个 live 的 NodeList 集合,这个集合包含 name (en-US) 属性为指定值的所有元素,例如<meta><object>,甚至那些不支持 name (en-US) 属性但是添加了 name (en-US) 自定义属性的元素也包含其中。

警告: getElementsByName 在不同的浏览器其中工作方式不同。在 IE 和 Opera 中,getElementsByName() 方法还会返回那些 id 为指定值的元素。所以你要小心使用该方法,最好不要为元素的 name (en-US)id 赋予相同的值。

警告: IE 和 Edge 都返回一个 HTMLCollection, 而不是NodeList

规范

Specification
HTML Standard
# dom-document-getelementsbyname-dev

浏览器兼容性

BCD tables only load in the browser

参阅