Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQUERY:将类保留在最后附加的元素中,并从表中所有其他新添加的元素中删除_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQUERY:将类保留在最后附加的元素中,并从表中所有其他新添加的元素中删除

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

我有一个表&在每个TR中,如果我单击图标,一个新的TR将附加到末尾。 TR还有一个行分隔符类。我希望此行分隔符从以前所有新追加的行中删除,但保留在最后追加的行TR中

$(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);
        });