重复上一个表行,但更改jquery中的类
我有以下问题 我有一张桌子,如下面的例子。计划是复制一行,但不使用新类。该类应在remove类中更改。jsfiddle中的示例:目标是保持最后一行始终为绿色,其他行始终为红色重复上一个表行,但更改jquery中的类,jquery,html,Jquery,Html,我有以下问题 我有一张桌子,如下面的例子。计划是复制一行,但不使用新类。该类应在remove类中更改。jsfiddle中的示例:目标是保持最后一行始终为绿色,其他行始终为红色 <table class="test"> <thead> <tr> <td>header 1</td> <td>header 2</td> <td>header 3<
<table class="test">
<thead>
<tr>
<td>header 1</td>
<td>header 2</td>
<td>header 3</td>
<td>header 4</td>
</tr>
</thead>
<tbody>
<tr class="1">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="remove"></td>
</tr>
<tr class="2">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="remove"></td>
</tr>
<tr class="new">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="new"></td>
</tr>
</tbody>
请注意,我不是一个非常有经验的jquery用户。此外,当单元格类更改时,我也将使用db id更改表行类。(但我将使用一个工作示例进行尝试)。编辑:
在更改类之前,需要克隆元素
还要关闭/删除单击事件处理程序,请使用
$(“table.test tr.new:last td.new”)。单击(函数(){
var x=$('table.test tr.new:last').clone(true);
//您可以使用“this”而不是$('table.test tr.new:last td.new'),因为您在它的事件处理程序中
$(this).removeClass('new').addClass('remove').off('click'));//您到底想做什么?您没有td.add类。您有td.new。您可以在JSFIDLE上发布示例代码吗?您正在选择一个带有add类的tr,但在您的示例中没有该类的任何行。根据JSFIDLE示例的要求,目标是在底部有一个绿色单元格,其他单元格为红色。在示例中,它们都是红色的变成红色。我知道你用JavaScript标记了这个问题,但是为什么不使用CSS3选择器呢?table tbody tr td:last child{background color:red;}table tbody tr:last child td:last child{background color:green;}
()。这就是我的意思!除了我单击其中一个添加了红细胞的行外,它们仍然会生成新记录。只有当我按下绿色的“按钮”时,才会产生新记录。这花费了我很多时间!
$("table.test tr.new:last td.new").click(function(){
$('table.test tr.new:last td.new').removeClass('new').addClass('remove').fadeIn("fast");
$('table.test tr.new:last').clone(true).insertAfter('table.test tr.new:last');
});
$("table.test tr.new:last td.new").click(function(){
var x = $('table.test tr.new:last').clone(true);
// you can use "this" instead of $('table.test tr.new:last td.new') since you are inside it's event handler
$(this).removeClass('new').addClass('remove').off('click');// <-- removes handler from current td
x.insertAfter('table.test tr.new:last');
});