获取div内的所有输入字段(不含JS库)

app*_*rat 21 javascript textinput

如果不使用像jQuery这样的javascript库,在div中获取所有输入字段的最简单方法是什么?与此jQuery代码段类似:

var inputs = $('#mydiv :input');
Run Code Online (Sandbox Code Playgroud)

Roy*_*ron 44

document.getElementById('mydiv').getElementsByTagName('input')
Run Code Online (Sandbox Code Playgroud)


And*_*c ॐ 10

尝试:

var inputs = document.getElementById('mydiv').getElementsByTagName('input');
Run Code Online (Sandbox Code Playgroud)


Fre*_*all 8

如果您使用的是现代浏览器(ie9+),您可以利用querySelectorAll\xe2\x80\x8e.

\n
var inputs = document.querySelectorAll\xe2\x80\x8e(\'#myDiv input\');\n
Run Code Online (Sandbox Code Playgroud)\n

或者如果你已经有了div,你可以直接使用它

\n
var inputs = myDiv.querySelectorAll(\'input\');\nvar inputs = myDiv.getElementByTagName(\'input\');\n
Run Code Online (Sandbox Code Playgroud)\n

两者都可以。要序列化,您可以在获得输入后执行此操作

\n
var values = {}\nfor (const input of inputs){\n   values[input.name] = input.value\n}\n
Run Code Online (Sandbox Code Playgroud)\n


Vis*_*h G 5

querySelector并将querySelectorAll轻松获取您期望的详细信息。

var divElem = document.getElementById("myDiv");
var inputElements = divElem.querySelectorAll("input, select, checkbox, textarea");
Run Code Online (Sandbox Code Playgroud)

它将以数组格式给出所有输入,选择,textarea元素。