Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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函数_Javascript_Jquery_Html_Forms - Fatal编程技术网

反转Javascript函数

反转Javascript函数,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个脚本,可以克隆最后一个表行,并通过单击[+]图标将其插入到表的底部。我想做的是通过单击[-]图标来删除最后一个表行。这可能吗?如果可能的话,有人能给我指出正确的方向吗 <script type="text/javascript"> $(document).ready(function() { $("#add").click(function() { $('#mytable tbody>tr:last').clone(true).insertAft

我有一个脚本,可以克隆最后一个表行,并通过单击[+]图标将其插入到表的底部。我想做的是通过单击[-]图标来删除最后一个表行。这可能吗?如果可能的话,有人能给我指出正确的方向吗

<script type="text/javascript">
$(document).ready(function() {
    $("#add").click(function() {
        $('#mytable tbody>tr:last').clone(true).insertAfter('#mytable tbody>tr:last');
        $('#mytable tbody>tr:last #itemid').val('');
        $('#mytable tbody>tr:last #itemdesc').val('');
        return false;
    });
});
</script>

$(文档).ready(函数(){
$(“#添加”)。单击(函数(){
$('#mytable tbody>tr:last').clone(true).insertAfter('#mytable tbody>tr:last');
$('#mytable tbody>tr:last#itemid').val('';
$('#mytable tbody>tr:last#itemdesc').val('';
返回false;
});
});

是的,jQuery有一个名为:

你可以让它快一点

$("#remove").click(function(e) {
        $('#mytable tbody tr').filter(':last').remove();
        e.preventDefault();
    });
});
该方法正是您想要的:

$("#remove").click(function(e) {
    e.preventDefault();
    $('#mytable > tbody > tr:last-child').remove();
});
e.preventDefault()
用于阻止元素的默认操作(无论是按钮还是链接)。我假设有一个默认操作,因为您使用的是
returnfalse在原始添加代码中

(旁注:)

另外,我在这里使用的是
:last child
,而不是
:last

由于
:last
是jQuery扩展,而不是CSS规范的一部分,因此使用
:last
的查询无法利用本机DOM
querySelectorAll()方法提供的性能提升。要在使用
:last
选择元素时获得最佳性能,请首先使用纯CSS选择器选择元素,然后使用
.filter(“:last”)

由于纯CSS选择器在这种情况下工作(假设您有一个格式良好的表),因此不需要
.filter(':last')
。您还应该能够在克隆最后一行时在
#添加
代码中执行此操作。

使用jQuery:


如果只有
t车身
s,则不需要
t车身
。。。否则,
thead
的最后一行也将被删除。我很惊讶在这样一个人们应该互相帮助的网站上竟然存在讽刺。实际上这没关系。。。
$("#remove").click(function(e) {
    e.preventDefault();
    $('#mytable > tbody > tr:last-child').remove();
});
$("#remove").click(function(e) {
    e.preventDefault();
    $('#mytable tbody>tr:last').remove();
});