用jquery为附加的子元素添加类名
Add class name to appended child elements with jquery
我有一个这样的表。
<table id='table1'>
</table>
,在这个表中,我使用jquery动态地向表中添加行,如下所示。
var tbl = $("#table1");
tbl.append('<tr></tr><tr></tr><tr></tr>');
我可以使用下面的2种方法添加类到附加的行
案例1
tbl.find('tr').eq(0).addClass("test");
tbl.find('tr').eq(1).addClass("test");
或case 2
for (var i=0;i<tbl.find('tr').length;i++) {
tbl.find('tr').eq(i).addClass("test")
}
和我的问题是有任何方式我可以添加相同的类名到动态追加的行。jquery中期待的答案。
一旦一个元素被添加到DOM中,您就没有办法知道它是否是动态添加的,除非您有自定义的代码来这样做。我建议将.append
更改为.appendTo
,以便您可以访问正在添加的行,并可以调用.addClass
:
var tbl = $("#table1");
$('<tr></tr><tr></tr><tr></tr>').appendTo(tbl).addClass("test")
您也可以将类放在字符串中,然后附加它,或者在附加它之前修改它(添加一个类)。请注意,我的字符串中只有一个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/
相关文章:
- 如何将html元素添加到tampermonkey中
- 如何将html元素添加为生成的内容
- 如何向Selectize元素添加渲染和创建方法
- 向html选择元素添加选项
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何将新的键/值对元素添加到现有数组
- 使用docment.createElement向元素添加选项
- ng重复向一个元素添加条件类
- 为li元素添加标题
- 向ckeditor中的多个元素添加内联样式
- Javascript 向影子根中的自定义元素添加函数
- 将伪元素添加到<文本区域>
- 如果类只包含一个特定数字,则向元素添加类
- DOM:将空元素添加到 DOM 和页面重排
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 通过 ajax 使用自定义滚动条向元素添加内容
- 是否可以用D3将svg元素添加到开放层映射中
- 如何将元素添加到动态数组并排除现有元素
- 在AngularJS中将元素添加到作用域时,如何在所有设备上播放声音
- 将图像元素添加到<a>标签