jQuery 在 jQuery.load() 之后找不到任何加载的元素
jQuery don't find any loaded elements after jQuery.load()
jQuery 在 jQuery.load()
之后找不到任何加载的元素
function makeEditForTextBox(textbox,editor) {
editor.load("templates/textbox-edit.html");
editor.find("#edit-save").click(function(event) { //here jQuery can't find #edit-save button
id=editor.find("#edit-id-name").text();
alert(id);
textbox.find("input").attr("id",id);
textbox.find("input").attr("name",id);
textbox.find("input").attr("placeholder",editor.find("#edit-placeholder").text());
textbox.find("label").text(editor.find("#edit-label-text"));
alert("save clicked");
});
alert("loaded");
}
文本框-edit.html:
<label>ID/Name</label>
<input type="text" id="edit-id-name">
<label>Label Text</label>
<input type="text" id="edit-label-text">
<label>Placeholder</label>
<input type="text" id="edit-placeholder">
<label>Help Text</label>
<input type="text" id="edit-help-text">
<button id="edit-save">Save</button>
<button id="edit-cancel">Cancel</button>
我已经在浏览器中加载了元素,但是 jQuery 找不到它们。
find()
是 运行 在 load()
开始 之后,而不是 load()
结束时。您可以将该代码放入回调中,以便在加载完成时执行。
.load( url [, data ] [, complete ] )
function makeEditForTextBox(textbox,editor) {
editor.load("templates/textbox-edit.html", function(){
editor.find("#edit-save").click(function(event) {
id=editor.find("#edit-id-name").text();
alert(id);
textbox.find("input").attr("id",id);
textbox.find("input").attr("name",id);
textbox.find("input").attr("placeholder",editor.find("#edit-placeholder").text());
textbox.find("label").text(editor.find("#edit-label-text"));
alert("save clicked");
});
});
}
jQuery 在 jQuery.load()
之后找不到任何加载的元素function makeEditForTextBox(textbox,editor) {
editor.load("templates/textbox-edit.html");
editor.find("#edit-save").click(function(event) { //here jQuery can't find #edit-save button
id=editor.find("#edit-id-name").text();
alert(id);
textbox.find("input").attr("id",id);
textbox.find("input").attr("name",id);
textbox.find("input").attr("placeholder",editor.find("#edit-placeholder").text());
textbox.find("label").text(editor.find("#edit-label-text"));
alert("save clicked");
});
alert("loaded");
}
文本框-edit.html:
<label>ID/Name</label>
<input type="text" id="edit-id-name">
<label>Label Text</label>
<input type="text" id="edit-label-text">
<label>Placeholder</label>
<input type="text" id="edit-placeholder">
<label>Help Text</label>
<input type="text" id="edit-help-text">
<button id="edit-save">Save</button>
<button id="edit-cancel">Cancel</button>
我已经在浏览器中加载了元素,但是 jQuery 找不到它们。
find()
是 运行 在 load()
开始 之后,而不是 load()
结束时。您可以将该代码放入回调中,以便在加载完成时执行。
.load( url [, data ] [, complete ] )
function makeEditForTextBox(textbox,editor) {
editor.load("templates/textbox-edit.html", function(){
editor.find("#edit-save").click(function(event) {
id=editor.find("#edit-id-name").text();
alert(id);
textbox.find("input").attr("id",id);
textbox.find("input").attr("name",id);
textbox.find("input").attr("placeholder",editor.find("#edit-placeholder").text());
textbox.find("label").text(editor.find("#edit-label-text"));
alert("save clicked");
});
});
}