我正在使用Jquery dataTables,在fnCreatedRow函数中我创建了这样的行:
fnCreatedRow: function (nRow, aData, iDataIndex) {
var e = Object.keys(aData);
$('td:eq(0)', nRow).html("<label id='lbl_" + e[0] + "' class='display-mode'>" + aData[e[0]] + "</label>");
$('td:eq(1)', nRow).html("<label id='lbl_" + e[1] + "' class='display-mode'>" + aData[e[1]] + "</label>");
$('td:eq(2)', nRow).html("<label id='lbl_" + e[2] + "' class='display-mode'>" + aData[e[2]] + "</label>");
但问题是如果我在aData [e [1]]中再次拥有其他表的表,则td:eq(2)不适用于下一个单元格,而是适用于嵌套表格中的单元格。
那我怎么能确定$('td:eq(id)'总是适用于第一个tr?
答案 0 :(得分:1)
$(selector, context)
返回所有匹配的后代,它的工作方式与find
方法类似:
$(context).find(selector);
您可以使用children
方法:
var $tds = $(nRow).children();
$tds.eq(0).html('...');