如何在jquery中的特定id之后追加

时间:2013-09-27 01:30:42

标签: jquery

伙计我有一个表,我想动态地在其中添加一列,但不在末尾,我希望它在一行的特定id之后追加。怎么做?

$('#add-another-file').live('click', function() {
   $('#to-upload-table').append('<tr><td><input type="file" name="file-upload" id="file-upload" ></td></tr>');     
});

这是我的代码,但它会在最后一行之后附加新元素。

这是我的html,我想要追加新行:

<table width="100%" style="border-collapse: separate;" id="to-upload-table">

        <tr>
            <td>
                <input type="file" id="file_upload" name="file_upload">
            </td>
        </tr>

        <tr>
            <td>
                <input type="file" id="file_upload" name="file_upload">
            </td>
        </tr>
        <tr>
            <td>
                <input type="file" id="file_upload" name="file_upload">
            </td>
        </tr>
        <tr>
            <td>
                <input type="file" id="file_upload" name="file_upload">
            </td>
        </tr>

        <tr align="right">
            <td>
                <input type="button" id="add-another-file" name="add-another-file" value="Add another file" >
            </td>
        </tr>
        <tr align="right">
            <td>
                <a href="#" id="single-file">Single-file </a>
            </td>
        </tr>
        <tr>
            <td align="right">
                <input type="button" id="upload_file" value="Upload">
            </td>
        </tr>
    </table>

正如您所看到的,表格的最后一部分有三个按钮,我希望在这三个按钮之前添加新行。在那些文件输入类型之后

2 个答案:

答案 0 :(得分:2)

使用jQuery After

$('targeted row to append after').after('<tr><td><input type="file" name="file-upload" id="file-upload" ></td></tr>');

您可以在此处查看DOM插入方法列表:http://api.jquery.com/category/manipulation/

答案 1 :(得分:1)

如果您没有.eq(),则可以将.after()id一起使用。

$('#add-another-file').live('click', function() {
  $('#to-upload-table tr').eq(Number Here).after('<tr><td><input type="file" name="file-upload" id="file-upload" ></td></tr>');     
});