成功的AJAX调用后,我需要更新特定的表行(通过tr id =“unique_key”)。
HTML片段:
<a name=\"p{$product_id}\" class=\"tr{$product_id}\"></a>
<tr id="p{product_id}" class="item-row">
<td><h3>{product_id}</h3><a rel="facebox" href="ajax_url">{product_name}</a></td>
<td>{image_information}</td>
<td>{image_sortiment}</td>
<td>{product_status}</td>
</tr>
Javascript:
// AJAX Call
success: function(msg){
$('#p' + prod_id).remove();
$('.tr' + prod_id).after(msg);
$('#p' + prod_id + ' a[rel*=facebox]').facebox();
}
...
怎么了:
<tr>
之前),因此我的“钩子(Hook)”消失了我的主意怎么了?如何强制jQuery“覆盖”所需的表行?
最佳答案
您不能在表内而是表行外具有 anchor 。表格中的所有内容都必须在表格单元格内。如果将内容放在单元格之外,浏览器将尝试修复代码,以便通常通过将其移动到表格后方来显示它。
处理表中的内容可能很棘手,如果将行添加为html块而不是行元素,则可能会起作用。使用jQuery函数从您获得的字符串中创建元素。
var row = $(msg);
$('#p' + prod_id).replaceWith(row);
关于javascript - 使用jQuery通过给定ID更新表行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2735474/