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

Can't you just call html() after you've done your modifications (i.e. when the button is clicked, not when the DOM is ready)

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