1

最も効率的な方法でプレーンな JavaScript でこの関数を書くのを手伝ってくれませんか。

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

3 に答える 3

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);
于 2013-01-12T00:55:27.983 に答える
4

これはあなたが探しているものですか:

document.getElementsByName("myname");
于 2013-01-12T00:58:25.063 に答える
3

フォーム内の各要素に一意の名前があるとすると、この方法が最速です。

var element = document.MyForm.getElementsByName('myname')[0];

document.querySelectorAll()name異なるタグの要素で共有されている場合は高速になる可能性がありますが、サポートは制限されています。

于 2013-01-12T00:56:01.150 に答える