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

您将不得不像这样处理它:

var collection = [];
$("input[name]").each(function () {
    if($.inArray($(this).attr("name"), yourArray)) {
        collection.push($(this));
    }
});
于 2013-01-18T10:37:46.207 回答
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 回答
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 回答