给定this 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 );
});


我的意图是将单击的单元格更改为输入字段,然后再从中输入内容,但是我不确定为什么它不呈现。

最佳答案

您需要在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/

07-28 08:50