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

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

Javascript 在最后一行之前向表中添加一行,javascript,jquery,html,Javascript,Jquery,Html,我有以下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[]" v

我有以下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>

$(函数(){
$(“.AddItem”)。单击(函数(){
$(this).parents('table tr:last')。在('')之后;
返回false;
});
});
项目
计数:
10
这将使用“添加”按钮在行下方添加一行。我需要在表底部的页脚行(计数)上方添加一行。 我应该使用什么选择器

请注意不符合我的要求,它选择最后一行

使用
.before()
进行此操作

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

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

$(this).closest('table').find('tr:last').prev().after('');
$(函数(){
$(“.AddItem”)。单击(函数(e){
$(“tr:last”,$(this).parents('table'))。before('');
返回false;
});
});

你也可以试试这个

beforebefore奇怪的是,在一行前面加一行,然后按按钮。我想知道你怎么会在一个错误的答案上马上得到两张赞成票@BobSort在您的问题中,您提到,您的代码将在最后一行之后添加新行。然后,如果要在最后一行之前添加新行,则应使用before()方法。答案是直截了当的。若你们读得正确的话,你们可以在第一行之后加上按钮(第一行),按下其他行。至少在发布之前请在浏览器中检查您的代码。
find().before()
有效,但我只有一个答案投票,@Tushar比您快。再次感谢您应该创建一个Fiddle可能的副本,您的第一个版本不起作用,但这一个工作得很好。我在考虑是否可以合并“查找”和“父项”。@BobSort很高兴现在可以使用
.closest()
,因为它比
.parents()
快。此版本的问题是它假设表中至少有两行。如果只有一个,那就不行了。根据Anoop Joshi的回答,使用
.before()
$(this).closest('table').find('tr:last').prev().after('<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;
        });
    });