jquery 在调用 jquery 的行之后添加表行

标签 jquery html

我有一个

<table id="servers" ...>
...
{section name=i loop=$ownsites}
<tr id="site_id_{$ownsites[i].id}">
...
<td>{$ownsites[i].phone}</td>
<td class="icon"><a id="{$ownsites[i].id}" onClick="return makedeleterow(this.getAttribute('id'));" ...></a></td>
</tr>       
{/section}
<tbody>
</table>

还有这个 JavaScript。

<script type="text/javascript">
function makedeleterow(id)
    {
        $('#delete').remove();
        $('#servers').append($(document.createElement("tr")).attr({id: "delete"}));
        $('#delete').append($(document.createElement("td")).attr({colspan: "9", id: "deleter"}));
        $('#deleter').text('Biztosan törölni szeretnéd ezt a weblapod?');
        $('#deleter').append($(document.createElement("input")).attr({type: "submit", id: id, onClick: "return truedeleterow(this.getAttribute('id'))"}));
        $('#deleter').append($(document.createElement("input")).attr({type: "hidden", name: "website_del", value: id}));
    }
</script>

它工作正常,它在 table 的最后一个 tr 之后生成一个 tr 并将信息放入其中,以及删除功能也可以正常工作。

但我想让这个附加AFTERtr(with td class ="icon") 调用脚本。我该怎么做?

最佳答案

您可以使用 jQuery 中的 .after() 函数在另一个元素之后附加一些内容。

所以代替

$("servers").append( ... );

你会用

$("#" + id + ).closest( "tr" ).after( ... );

或者你也可以使用

$( ... ).insertAfter( $("#" + id ).closest( "tr" ) );

本质上是等价的。

参见 http://api.jquery.com/after/了解全部详情。

关于jquery 在调用 jquery 的行之后添加表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2704100/

相关文章:

javascript - 使用 jQuery 选择某些文本时如何触发灯箱?

jquery - 如何映射对象的多个数据?

jquery - AJAX 访问不受信任的 HTTPS 失败,没有 'do you want to proceed' 提示

html - 我的反馈选项卡不会显示我的代码?

jquery - 在 jquery 中的 2 个元素之间添加 css

javascript - 如何让JCarousel垂直滚动条反向滚动?

javascript - 如何检查字符串中的每个数字?

html - http请求正文是什么意思?

javascript - 通过 HTML5/JavaScript 从手机发送短信

html - Offshape Arrow - 响应?