请您帮我以最有效的方式在纯JavaScript中编写此函数。
//Selects all elements matched by <input> that have a name value
//exactly equal to myname.
$("input[@name=myname]")
答案 0 :(得分:5)
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);
答案 1 :(得分:4)
这就是你要找的东西:
document.getElementsByName("myname");
答案 2 :(得分:3)
假设表单中的每个元素都有一个唯一的名称,这个方法是最快的:
var element = document.MyForm.getElementsByName('myname')[0];
如果document.querySelectorAll()
由不同代码的元素共享,则{p> name
可能会更快,但support is limited 。