无法使用jquery编辑动态添加的元素

时间:2013-12-19 16:32:30

标签: jquery

我不清楚如何编辑使用jQuery添加到DOM的元素的text / value / innerHTML属性。我知道可以使用on()函数为页面加载后添加到DOM的元素设置事件处理,但是我无法找到修改属性的等价物。

这是初始HTML文档的片段:

<body><div id="divBody></div></body>

在单独的.js文件中:

$(document).ready(function () {
  $("#divBody").append("<button id=\"openClose-Button\">Open</button>");
  $("#divBody").on("click", "#openClose-Button", openHandler );
}

设置完成后,一切正常,openHandler会按预期触发,除了openHandler还应该更改按钮文本并切换处理程序:

var openHandler = function openIt() {
  $("#openClose-Button").off("click");
  $("#divBody").on("click", "#openClose-Button", closeHandler);
  $("#openClose-Button").html = "Close";
};

即使事件被正确触发,on()html都不起作用。我尝试通过#divBody选择初始设置和#openClose-Button

1 个答案:

答案 0 :(得分:2)

尝试$(document).on("click", "#openClose-Button", openHandler );

这是使用html()的正确方法。或文字()。

$("#openClose-Button").html("Close");

如果此closeHandler是一个函数,它应该用作:

closeHandler();