2

我有一个简单的 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);
});
4

3 回答 3

9

尝试将点击处理程序更新为以下内容:

$("button").click(function() {
    var table = $("#myTable").html();
    $(".result").html(table);
});

看到它在这里工作:http: //jsbin.com/ucopun/11

于 2012-12-12T17:42:02.723 回答
2

您想将整个表格存储在不同的元素或变量中吗?

如果要将其存储在变量中,则

$('button').on('click', function(){
    var table_html = '<table id="myTable">' + $('#myTable').html() + '</table>';
    // alert(table_html);
});

小提琴 - http://jsfiddle.net/84ETb/

于 2012-12-12T17:44:47.377 回答
1

难道你不能html()在完成修改后调用(即单击按钮时,而不是 DOM 准备好时)

var the_content = $('#myTable').html();
于 2012-12-12T17:37:44.960 回答