1

jQuery では、属性による選択が次のように機能することは誰もが知っています。

var abc =$('input[name=iphone]');

私の場合、配列があります。属性が配列内の値と一致する要素を選択したいと考えています。

このようなもの :

var abc =$('input[name in (my_array)]');

あなたは私が何を意味するか分かります

4

5 に答える 5

3

配列から複数セレクターを構築できます。

var arraySelector = $.map(my_array,
    function (item) {
       return "input[name=" + item + "]";
    }).join(",");

var abc = $(arraySelector);
于 2013-01-18T10:50:23.700 に答える
1

選択した答えは近いですが、問題が 1 つあります。$.inArray は、配列内の値のインデックスを返すか、存在しない場合は -1 を返します。したがって、答えを次のように編集します。

var collection = [];
$("input[name]").each(function () {
    if($.inArray($(this).attr("name"), yourArray) != -1) {
        collection.push($(this));
    }
});
于 2015-07-13T17:15:29.763 に答える
1

次のようにアプローチする必要があります。

var collection = [];
$("input[name]").each(function () {
    if($.inArray($(this).attr("name"), yourArray)) {
        collection.push($(this));
    }
});
于 2013-01-18T10:37:46.207 に答える
0
var my_array = [ /* array of names */ ];
var abc = $('input').filter( function(){
    return (my_array.indexOf( this.name ) > -1);
});
于 2013-01-18T10:39:57.743 に答える
-1

配列の長さでループを実行する必要があります

var abc="";
for(var i=0;i<my_array.length;i++){
abc=$('input[name =+my_array[i]]');
}
于 2013-01-18T10:38:25.963 に答える