Javascript JQUERY:将类保留在最后附加的元素中,并从表中所有其他新添加的元素中删除
我有一个表&在每个TR中,如果我单击图标,一个新的TR将附加到末尾。 TR还有一个行分隔符类。我希望此行分隔符从以前所有新追加的行中删除,但保留在最后追加的行TR中Javascript JQUERY:将类保留在最后附加的元素中,并从表中所有其他新添加的元素中删除,javascript,jquery,html,Javascript,Jquery,Html,我有一个表&在每个TR中,如果我单击图标,一个新的TR将附加到末尾。 TR还有一个行分隔符类。我希望此行分隔符从以前所有新追加的行中删除,但保留在最后追加的行TR中 $(this).closest('tr').removeClass("row_seperator") ; $('.new_row').removeClass('row_seperator').removeClass('new_row'); $('<tr class="row_seperator new_row"&g
$(this).closest('tr').removeClass("row_seperator") ;
$('.new_row').removeClass('row_seperator').removeClass('new_row');
$('<tr class="row_seperator new_row"><td colspan="8">new td</td></tr>').insertAfter($(this).closest('tr'));
$(this).closest('tr').removeClass(“行分隔符”);
$('.new_row').removeClass('row_separator').removeClass('new_row');
$('new td').insertAfter($(this.closest('tr'));
如下图所示。我希望这两条交叉的线消失&剩下的最后一条线。这样每个部分都有一条线将其与其他部分分开
第1栏
第2栏
//Jquery代码
var计数器=1;
$('a.add-author')。单击(函数(事件){
event.preventDefault();
计数器++;
$(“.authors list tr”).addClass(“行分隔符”);
var newRow=jQuery(“”);
$('table.authors list').append(newRow);
});
工作小提琴
第1栏
第2栏
//Jquery代码
var计数器=1;
$('a.add-author')。单击(函数(事件){
event.preventDefault();
计数器++;
$(“.authors list tr”).addClass(“行分隔符”);
var newRow=jQuery(“”);
$('table.authors list').append(newRow);
});
工作小提琴我想这是指点击的图标。在这种情况下,
$(this).最近的('tr')
将始终是带有“Section-A”(或-B,-C,取决于单击的图标)。这意味着每个新的TR将插入到前一个TR的上方,因此它将始终是第一个必须具有行分隔符的新TR
如果我的假设都是正确的,我只需检查$(this).closest('tr').hasglass('row_separator')
,如果是,我会在它上面调用removeClass
,在新元素上调用addClass
(或者像您那样在字符串中包含这个类)。如果不是,我也不会
另一方面,如果您想在上一个新的TRs之后插入新的TRs,您可以向带有图标的TRs添加一些独特的类,并在(newTr)之后调用$(this).nextUntil('district_class').last()代码>
还要注意,如果您在A、B和C节之后添加了一些新的TR,并调用$('.new_行').removeClass('new_行')
它将从每个中删除类。新的\u行
不仅仅是从单击图标的TR之后的行。我想此
指的是单击的图标。在这种情况下,$(this).最近的('tr')
将始终是带有“Section-A”(或-B,-C,取决于单击的图标)。这意味着每个新的TR将插入到前一个TR的上方,因此它将始终是第一个必须具有行分隔符的新TR
如果我的假设都是正确的,我只需检查$(this).closest('tr').hasglass('row_separator')
,如果是,我会在它上面调用removeClass
,在新元素上调用addClass
(或者像您那样在字符串中包含这个类)。如果不是,我也不会
另一方面,如果您想在上一个新的TRs之后插入新的TRs,您可以向带有图标的TRs添加一些独特的类,并在(newTr)之后调用$(this).nextUntil('district_class').last()代码>
还要注意,如果您在A、B和C节之后添加了一些新的TR,并调用$('.new_行').removeClass('new_行')
它将从每个行中删除类。新的\u行
不仅仅是单击图标TR后的行。否此解决方案不起作用。我需要为每个TR保留行分隔符,除了新添加的TR。因为图像中的每个部分都有一个行分隔符。我在现有的2个TR之间添加了新的TR。您上面的问题说明了一些不同的内容,与您的评论无关。无论如何,只要稍加修改也可以实现。请等待我更新代码。否,此解决方案不起作用。我需要为每个TR保留行分隔符,除了新添加的TR。因为图像中的每个部分都有一个行分隔符。我正在现有的两个TR之间添加新的TR。您上面的问题说明了一些与您的评论无关的不同内容。无论如何,只要稍加修改也可以实现。请等待我更新代码
<table class="authors-list">
<tr class="row_seperator">
<td>Column 1</td>
<td>Column 2</td>
</tr>
<tr class="row_seperator">
<td><input type="text" name="first_name" /></td>
<td><input type="text" name="last_name" /></td>
</tr>
</table>
<a href="#" title="" class="add-author">Add</a>
// Jquery Code
var counter = 1;
$('a.add-author').click(function(event){
event.preventDefault();
counter++;
$(".authors-list tr").addClass("row_seperator");
var newRow = jQuery('<tr><td><input type="text" name="first_name' +
counter + '"/></td><td><input type="text" name="last_name' +
counter + '"/></td></tr>');
$('table.authors-list').append(newRow);
});