是否可以在JQuery.tmpl之前和之后附加html?
我想在
中插入一个嵌套表<table id="accTable">
<tr class="row" id="12345">
</tr>
<!-- New row to be inserted here -->
</table>
所以我已经完成了
var dat = [];
$.each(result, function(key, value){
dat.push({
FROM: this.date,
ID: key,
});
});
var markup = "<tr> <td>${ID}</td> <td>${FROM}</td> </tr>";
$.template("actTemplate", markup);
$('#'+id).tmpl("actTemplate", dat).after('#'+id);
但不知何故,我需要追加<tr><td><table>
并添加</table></td></tr>
。
我已经考虑过将HTML添加到现有HTML中,但它应该在按下按钮时发生,所以在按下它之前会出现错误。所以我想在插入模板时必须发生追加和前置...?
有关如何解决此问题的任何建议?
更新
在此jsFiffle中,单击“详细信息”时将添加/删除行。这是我要替换的行。
答案 0 :(得分:2)
我会这样解决:
//create your wrapping elements
var wrapping_elements = $('<tr><td><table class="new-table"/></td></tr>');
$('#'+id).after(wrapping_elements);
//insert your table data
var template_data = $('#'+id).tmpl("actTemplate", dat);
$('table.new-table').append(template_data);
答案 1 :(得分:2)
你可以这样做:
EDITED
var wrapper = $( '<tr id="details"><td><table></table></td></tr>' );
var wrapperTable = wrapper.find( 'table' );
$.tmpl ("actTemplate", dat ).appendTo( wrapperTable );
wrapper.insertAfter( '#'+id );