使用jquery为附加的子元素添加类名

时间:2015-08-17 15:40:28

标签: javascript jquery

我有一张这样的桌子。

<table id='table1'>
</table>

在此表中,我使用jquery(如下所示)动态地向表中添加行。

var tbl = $("#table1");
tbl.append('<tr></tr><tr></tr><tr></tr>');

我可以使用下面的两种方法将类添加到附加行中 案例1

tbl.find('tr').eq(0).addClass("test");
tbl.find('tr').eq(1).addClass("test");

案例2

for (var i=0;i<tbl.find('tr').length;i++) {
    tbl.find('tr').eq(i).addClass("test")
}

我的问题是,我可以在动态添加的行中添加相同的类名。答案期待在jquery。提前谢谢。

2 个答案:

答案 0 :(得分:3)

将元素添加到DOM后,除非您拥有自定义代码,否则无法确定它是否是动态添加的。我建议您将.append更改为.appendTo,以便您可以访问您要添加的行,并可以调用.addClass

var tbl = $("#table1");
$('<tr></tr><tr></tr><tr></tr>').appendTo(tbl).addClass("test")

答案 1 :(得分:0)

您还可以将该类放入字符串中,然后在追加它之前将其附加或修改(添加一个类)。请注意我的字符串中只有一个tr但是多次追加(可选择添加一个类)

var tbl = $("#table1");
var tr = '<tr class="test"></tr>';
var td = '<td class="test">new data</td>';

//var addedrow = $(tr).append(td).addClass("newclass");//adds class to the row
var addedrow = $(tr).append(td);//create new row object
addedrow.find('td').addClass("newclass"); //adds class to the td in the new row
var ar2 = $(tr).append(td);
var ar3 = $(tr).append(td);
tbl.append(addedrow, [ar2, ar3]); // appends the new rows
tbl.find('tr').last(td).addClass("newclass");//add class to last rows td

在此处查看此操作:http://jsfiddle.net/MarkSchultheiss/0osLfef3/