我正在尝试将特定类的所有文本都放入数组中。
以下在理论上有效,但它将它们放入一个对象,而不是一个数组,并且.map显然在大多数IE版本中都不受支持:(
var valuesArr = $('.'+sort_column);
var valuesArr = valuesArr.map(function(){return $(this).text().trim();});
有没有办法让所有的值都变成一个简单而简单的数组,我只是缺少它?
谢谢!
答案 0 :(得分:1)
简单迭代:
var array = [];
$(".elements").each(function() {
array.push($.trim($(this).text()));
});
console.log(array);
或者使用jQuery map
方法:
var array = $(".elements").map(function() {
return $.trim($(this).text());
}).get();
console.log(array);
答案 1 :(得分:0)
使用$.map之类的
var valuesArr = $('.'+sort_column);
var valuesArr = $.map(valuesArr,function(){
return $(this).text().trim();
}).get();
$.map
返回一个jQuery对象。
jQuery obects是类似数组的,但它们不是数组!的原因 在.map()调用结束时调用.get()是为了转换jQuery 将对象转换为真正的数组。该数组的元素是值 由回调返回。
答案 2 :(得分:0)
您可以使用$.makeArray()
将jQuery对象转换为数组,然后映射元素中的文本:
var valuesArr = $.makeArray($('.elements'))
.map(function() {
return $(this).text().trim();
});