我正在循环数据,并使用map
中的jQuery
方法创建结果。循环完成后,我得到的结果为array
object
,如下所示:
[jQuery.fn.init[1], jQuery.fn.init[1], jQuery.fn.init[1], jQuery.fn.init[1], jQuery.fn.init[1]]
但是我需要基于jQuery
的对象(常规dom元素)如何从map
输出中获取它?
我在完成循环后尝试使用get()
。但抛出error
。获取dom
输出的正确方法是什么?
这是我的功能:
this.tbody = this.tableData.map(function (item, index) {
tr = $('<tr />', { id: item.ID });
tr.append('<td><input class="selectRow" type="checkbox" /></td>');
that.headerNames.map(function (label) {
var newlabel = label.replace(' ', '');
var labelData = item[newlabel];
tr.append('<td>' + labelData + '</td>');
});
console.log(tr); // [tr#66, jquery: "1.11.1", constructor: function, selector: "", toArray: function, get: function…] //i require all trs became a single output
return tr;
});
console.log(this.tbody);
答案 0 :(得分:2)
尝试从地图处理程序返回dom对象引用,然后将数组传递给jQuery并尝试
var tbody = this.tableData.map(function (item, index) {
var tr = $('<tr />', {
id: item.ID
});
tr.append('<td><input class="selectRow" type="checkbox" /></td>');
that.headerNames.map(function (label) {
var newlabel = label.replace(' ', '');
var labelData = item[newlabel];
tr.append('<td>' + labelData + '</td>');
});
console.log(tr); // [tr#66, jquery: "1.11.1", constructor: function, selector: "", toArray: function, get: function…] //i require all trs became a single output
return tr.get(0);
});
this.tbody = $(tbody)