重新加载/重新查找Jquery元素

时间:2016-08-23 08:29:55

标签: javascript jquery

为了演示我的问题,我在这里有一个小的演示脚本:

/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>"),但是这样做不起作用。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

试试这个

const char*

而不是

this.childBox.html($("<p>Hello</p>"))