如何在纯JavaScript中编写这个JQuery函数?

时间:2013-01-12 00:50:49

标签: javascript

请您帮我以最有效的方式在纯JavaScript中编写此函数。

//Selects all elements matched by <input> that have a name value 
//exactly equal to myname.
$("input[@name=myname]") 

3 个答案:

答案 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