0

この fiddleを考えると、HTML のレンダリングを妨げているのは何ですか?

JavaScript

$(document).ready(function(){
    function loadDiv( divId ) {
        $('#' + divId).html('<table><tr><td class="editable" id="' + divId + '">Edit Me</td></tr></table>');
    }

    $('td.editable').click(function() {
        var cellId = $('td.editable').attr('id');
        alert(cellId);
    });

    loadDiv( div1 );
    loadDiv( div2 );
});

私の意図は、クリックされたセルを入力フィールドに変更し、後でそこから投稿することですが、レンダリングされない理由がわかりません。

4

1 に答える 1

3

div ID を引用符で囲む必要があります。

loadDiv( "div1" );
loadDiv( "div2" );

http://jsfiddle.net/pp6nv/1/

ページの読み込み後にテーブルが追加されるため、.on().

$('body').on("click", "td.editable", function() {
    var cellId = $(this).prop('id');
    alert(cellId);
});

http://jsfiddle.net/pp6nv/3/

于 2013-02-25T20:42:28.430 に答える