2013-10-02 73 views
0

我有一堆输入文本字段与emps_l具有不同的值。我想循环遍历这个类的所有元素,并将这些值存储到一个数组中! 贝娄是我做了什么:如何获取具有相同类别的所有元素的值

var emps = new Array();  
$.each(($(".emps_l").val()),function()({   
     emps.push($(".emps_l").val());   
}); 
console.log(emps); 

我完全失去了,任何帮助将不胜感激!

+0

大多数jQuery中getter函数仅作用于第一个匹配元素上(以便返回一个值)。执行'$(“。emps_l”).val()'返回具有'emps_l'类的DOM中第一个元素的值,而执行'$(“。emps_l”).val(1);'会用'emps_l'类设置每个元素的值为1,然后返回该jQuery对象。 –

回答

1
var emps = []; // This is considered slightly faster than new array 

$('.emps_1').each(function(){ 
    emps.push(this.value); 
}); 

console.log(emps); 
+1

可以使用'this.value'而不是'$(this).val()'。节省您(不必要地)调用jQuery函数,并且键入更容易/更快速。 –

+0

@AnthonyGrist:好点 - 我会更新 –

4

可以使用.map()this.value沿创建阵列

var emps = $(".emps_l").map(function() { 
    return this.value 
}).get() 
+0

@downvoter我错过了什么 –

1

使用这样的:

var emps = new Array();  
$.each(($(".emps_l:input").val()),function(index , item)({   
     emps.push($(item).val());   
}); 
console.log(emps); 
相关问题