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

前端之家收集整理的这篇文章主要介绍了Jquery在调用jquery的行之后添加表行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一张桌子
<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>

和这个java脚本。

<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>

它的工作正常,它在表的最后一个tr后面放置一个tr,并将信息放在它上,删除功能也可以正常工作。

但是我想在脚本调用tr(用td class =“icon”)之后进行追加。我该怎么做?

解决方法

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

所以代替

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

你会用

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

或者你也可以使用

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

这基本上是等价的。

详见http://api.jquery.com/after/

猜你在找的jQuery相关文章