2013-02-25 50 views
0

鑑於this fiddle什麼是阻止HTML呈現?用jquery寫動態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); 
}); 

我的目的是點擊的細胞從它變成一個輸入字段和後面的文章,但我不知道爲什麼它不渲染。

+0

DIV1和DIV2兩個是變量......把他們周圍的報價。 – 2013-02-25 20:42:31

回答

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/

+0

感嘆。感謝那。它必須發生什麼才能被'click'函數捕獲? – Kermit 2013-02-25 20:45:13

+0

您必須使用'.on()' - 查看我的更新。 – jrummell 2013-02-25 20:49:53

+0

美麗。乾杯 – Kermit 2013-02-25 20:50:45