你能帮我以最有效的方式用纯 JavaScript 编写这个函数吗?
//Selects all elements matched by <input> that have a name value
//exactly equal to myname.
$("input[@name=myname]")
你能帮我以最有效的方式用纯 JavaScript 编写这个函数吗?
//Selects all elements matched by <input> that have a name value
//exactly equal to myname.
$("input[@name=myname]")
var els = document.getElementsByTagName("input"),
arr = [];
for (var i = 0, l = els.length; i < l; i++) {
if (els.name === "myname") {
arr.push(els);
}
}
console.log(arr);
或者对于现代浏览器:
var arr = document.querySelectorAll("input[name='myname']");
console.log(arr);
这是你想要的:
document.getElementsByName("myname");
假设表单中的每个元素都有一个唯一的名称,这种方法是最快的:
var element = document.MyForm.getElementsByName('myname')[0];
document.querySelectorAll()
name
如果由不同标签的元素共享可能会更快,但支持有限。