为了演示我的问题,我在这里有一个小的演示脚本:
/user.html =
<div id="user-box"></div>
js =
class UserComponent {
constructor({}) {
this.srcFile = "/user.html";
this.parentBox = $("#container-box");
this.childBox = $("#user-box");
};
show(){
this.parentBox.load(this.srcFile, function() {
this.childBox.html("<p>Hello</p>")
}.bind(this));
};
}
问题是此行无法正常工作:
this.childBox.html("<p>Hello</p>")
对我来说,问题似乎是在构造函数中引用this.chilBox
时,它在DOM中尚不存在。
当我将代码重写为:
时 this.parentBox.load(this.srcFile, function() {
var childBox = $("#user-box");
childBox.html("<p>Hello</p>")
}.bind(this));
然后它有效。但我想引用构造函数中的元素。
如何在构造函数中引用元素,然后在它存在时使用它?
我尝试了this.childBox.find().html("<p>Hello</p>")
,但是这样做不起作用。
感谢您的帮助!
答案 0 :(得分:0)
试试这个
const char*
而不是
this.childBox.html($("<p>Hello</p>"))