我正在从HTML表中检索这样的表行数据。
var descriptions = [];
var testRows = $('#tbl').find('tbody').find('tr');
$this = $(this);
testRows.each(function () {
var description = $this.find('[id^="Desc"]').text();
descriptions.push(description);
}
由于此表是一个页面限制为5个元素的数据表,因此我只能访问前5行中的数据。
我知道从DOM中删除了分页数据,这就是我无法访问其余行的原因。
如何超越首页并访问剩余的行数据?
答案 0 :(得分:1)
我使用fnGetNodes API方法检索数据。
var descriptions = [];
var _testDesc;
var dt = $("tbl").dataTable();
var dtNodes = dt.fnGetNodes;
var dtNodeCount = dtNodes.length;
for (var i = 0; i < dtNodeCount; i++) {
var description = $(dtNodes[i].cells[2].innerHTML).val();
descriptions.push(description);
}
var descriptions = [];
var _testDesc;
var dt = $("tbl").dataTable();
var dtElementCollection = dt.DataTable.settings[0].aoData;
var dtECLength = dtElementCollection.length;
for (var i = 0; i < dtECLength; i++) {
var description = dtElementCollection[i]._aData[2];
_testDesc = $(description).val();
descriptions.push(_testDesc);
}
答案 1 :(得分:0)
如果您使用旧版本的jQuery,则可以使用.live()功能。对于较新版本,您应切换到.on()。但是你总是可以根据你所写的内容制作一个函数:
function example() {
var testRows = $('#tbl').find('tbody').find('tr');
$this = $(this);
testRows.each(function () {
var description = $this.find('[id^="Desc"]').text();
descriptions.push(description);
}
}
并在每次操作桌子时运行它:
function removeTr() {
$('tr').remove();
example();
}