我有一个简单的jQuery表编辑器,并希望能够将整个表存储在变量中。稍后将保存表的状态,类似于迷你CMS。
我尝试使用HTML,但它不适用于生成的元素。
这样做的最佳方法是什么?此外,.html()
返回的安全性是什么,或者由于innerHTML
中的浏览器差异而不应该使用它?
$("#target").click(function() {
$('#myTable tr:last').after('<tr><td>Bla</td><td><div class="remove">REMOVE</div></td></tr>');
});
$("#myTable").on('click', '.remove', function(event) {
$(this).parent().parent().remove();
});
var table = $("#myTable").html();
$("button").click(function() {
$(".result").html(table);
});
答案 0 :(得分:9)
尝试将点击处理程序更新为以下内容:
$("button").click(function() {
var table = $("#myTable").html();
$(".result").html(table);
});
答案 1 :(得分:2)
是否要将整个表存储在不同的元素或变量中?
如果您想将其存储在变量中,那么
$('button').on('click', function(){
var table_html = '<table id="myTable">' + $('#myTable').html() + '</table>';
// alert(table_html);
});
答案 2 :(得分:1)
在完成修改后(即单击按钮时,而不是在DOM准备就绪时),您不能只调用html()
var the_content = $('#myTable').html();