Tôi có một số table
.Jquery thêm hàng của bảng sau hàng gọi 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>
Và JavaScript này.
<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>
Nó làm việc tốt, nó làm cho một tr
sau table
's cuối cùng tr
và đưa thông tin đến nó, và các chức năng xóa cũng hoạt động tốt.
Nhưng tôi muốn làm append này SAU các tr
(với td
class="icon"
) được gọi kịch bản. Tôi có thể làm cái này như thế nào?
tôi nghĩ rằng tôi không theo dõi mình. đặt sử dụng .next() hoặc tiếp theo ('tr') tôi đoán. PS: và bạn không phải chọn lại bạn các yếu tố nhiều hơn một lần. bạn có thể thay thế $ (document.createElement ('tr')) bởi $ ('') .attr ('id', 'delete') – meo
Có, @meo. Thay vì $ ("# deleter") nhiều lần, chỉ cần làm var deleter = $ ("# deleter"); sau đó sử dụng tham chiếu biến mỗi lần. – Geoff
fi thực hiện điều này với '$ ('# site_id _' + id). After(). Append ($ (document.createElement (" tr ")). Attr ({id:" delete "}));' hoặc bằng ' next() 'nó sẽ nối thêm bên trong' tr' sau 'td class =" icon "'. –