Jquery td:eq(id)忽略子表

时间:2014-10-22 08:23:27

标签: jquery jquery-datatables

我正在使用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?

1 个答案:

答案 0 :(得分:1)

$(selector, context)返回所有匹配的后代,它的工作方式与find方法类似:

$(context).find(selector);

您可以使用children方法:

var $tds = $(nRow).children();

$tds.eq(0).html('...');