我有一个表
。
<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/