【发布时间】:2012-01-23 09:04:12
【问题描述】:
为什么不将 jQuery 应用于动态创建的元素?
这里是 jsFiddle:http://jsfiddle.net/Y5RuC/19/
当您单击常规单元格时,它会更改边框。 当您单击生成的单元格时,没有任何反应。 为什么?为了使生成的细胞正常工作,我需要进行哪些更改?
1) 创建板:
function generateBoard() {
var generatedDiv = "<div class='board'>";
/* ...
generatedDiv += "<div class='cell'> </div>";
...
*/
generatedDiv += "</div>"
return generatedDiv
}
$("#generate").click(function() {
generatedDiv = generateBoard();
$("#board").after(generatedDiv);
});
2) 追加 div:
generatedDiv = generateBoard();
$("#menu").after(generatedDiv);
3) 点击时更改边框:
$(".cell").click(function() {
console.log(this);
$(this).css("border", "3px solid black");
});
它不适用于自动生成的内容。在纯 HTML 中: 只是工作。在生成的板上 - 只是没有:(这里又是 jFiddle:http://jsfiddle.net/Y5RuC/19/
如何使 $(".cell").click 在生成的板上正常工作?
【问题讨论】:
-
已将您的 JSFiddle 更新为工作版本。
标签: javascript dom javascript-events jquery