我有table
。
<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>
它工作正常,它在tr
的最后table
后生成tr
并将信息放入其中,删除功能也可以正常工作。
但是我想在tr
(td
class="icon"
){脚本。我怎么能这样做?
答案 0 :(得分:35)
您可以使用jQuery中的.after()函数将一些内容追加到另一个元素之后。
所以而不是
$("servers").append( ... );
你会用
$("#" + id + ).closest( "tr" ).after( ... );
或者您也可以使用
$( ... ).insertAfter( $("#" + id ).closest( "tr" ) );
基本相同。
有关详细信息,请参阅http://api.jquery.com/after/。
答案 1 :(得分:3)
尝试.prepend()
而不是.append()
答案 2 :(得分:1)
interst tr id然后onclick =&#34; xyz()&#34;
类似的东西:
<tr id="" onclick="xyz()"><td></td><td></td></tr>
<script>
function xyz()
{
var newrow = "<tr><td>data1</td><td>data1</td></tr>";
$("#tr_id").after(newrow);
}
</script>