在javascript中按名称获取子节点

car*_*arl 4 html javascript

如何获得具有特定名称的html标签的所有子项?

我们假设我有一个<div>看起来像这样的东西

<div id=test>
    <input name=test1/>
    <input name=test2/>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我有div元素,我怎样才能得到名为test1或test2的孩子?我试过了

div.getElementsByName('test1')
Run Code Online (Sandbox Code Playgroud)

但那不起作用?

Pyt*_*tth 8

document.querySelector('input[name="test1"]')

或者,如果您想要定位特定元素的特定子元素:

var test = document.querySelector('#test')
var test1 = test.querySelector('input[name="test1"]');
window.console.log(test1)
Run Code Online (Sandbox Code Playgroud)


apa*_*kin 5

选项1:

var x = document.getElementsByName("test1");
Run Code Online (Sandbox Code Playgroud)

选项#2:

var x = document.querySelectorAll("input[name='test1']");
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,您都会得到数组作为响应:x[0], x[1], ...

div.getElementsByName('test1')

不起作用,因为 getElementsByName 是文档对象的方法,您只能调用 document.getElementsByName('elementName')。