我不清楚如何编辑使用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
。
答案 0 :(得分:2)
尝试$(document).on("click", "#openClose-Button", openHandler );
这是使用html()的正确方法。或文字()。
$("#openClose-Button").html("Close");
如果此closeHandler是一个函数,它应该用作:
closeHandler();