在最后一行之前向表中添加一行

Add a row to table before last row

本文关键字:一行 添加 最后      更新时间:2023-09-26

我有以下 HTML/脚本代码

<script type="text/javascript">
    $(function(){
        $(".AddItem").click(function(){
            $(this).parents('table tr:last').after('<tr><td>&nbsp;</td><td><input type="text" name="item[]" value=""></td></tr>');
            return false;
        });
    });
</script>
<table>
    <tr>
        <td valign="top">Items&nbsp;<a href="#" class="AddItem"><img src="images/16/button-add.png"  title="Add more Items"></a></td>
        <td><input type="text" name="item[]"  ></td>
    </tr>
    <tr>
        <td>Count: </td>
        <td>10</td>
    </tr>
</table>

这将在带有添加按钮的行下方添加一行。我需要在表底部的页脚行(计数)上方添加一行。我应该使用什么选择器?

请注意,这个问题不符合我的要求,它选择最后一行。

试试 .prev()

小提琴演示

$(this).closest('table').find('tr:last').prev().after('<tr><td>&nbsp;</td><td><input type="text" name="item[]" value=""></td></tr>');

为此.before()

 $(this).parents('table tr:last').before('<tr><td>&nbsp;</td><td><input type="text" name="item[]" value=""></td></tr>');

编辑

$(this).parents('table').find("tr:last").before('<tr><td>&nbsp;</td><td><input type="text" name="item[]" value=""></td></tr>');
$(function(){
        $(".AddItem").click(function(e){
            $("tr:last", $(this).parents('table')).before('<tr><td>&nbsp;</td><td><input type="text" name="item[]" value="+"/></td></tr>');
            return false;
        });
    });

你也可以试试这个