val()循环可能性与每个()相对

时间:2013-07-18 21:27:05

标签: javascript jquery

这是一个假设性的问题(如果有另一篇帖子有同样的问题,请随时告诉我 - 虽然我找不到一个)但

因此,.val()方法返回选择器匹配的第一个元素的当前值。是否有另一个“速记”jquery方法获取所有匹配元素的值并返回一个数组?

或者我这样做最安全:

var myResult = [];
$(".myClass").each(function(){
    myResult.push($(this).val());
});

正如我上面所说,我寻找的东西,但可能只是我必须使用.each()

1 个答案:

答案 0 :(得分:9)

不,没有速记。但是,方法比你的方法更短:

var myResult = $(".myClass").map(function(){
    return this.value;
}).get();

如果你真的想,你可以创建自己的速记:

$.fn.getValAsArray = function(){
    return this.map(function(){ return this.value; }).get();
};

var myResult = $(".myClass").getValAsArray();

还有其他几种选择:

$.map

var myResult = $.map($.makeArray($(".myClass")),function(input){
    return input.value;
});
// or
var myResult = $.map($(".myClass").get(),function(input){
    return input.value;
});

[].map

var myResult = $.makeArray($(".myClass")).map(function(input){
    return input.value;
});
// or
var myResult = $(".myClass").get().map(function(input){
    return input.value;
});