我刚开始使用流星,所以我想在jquery中使用append函数,但不附加任何内容

JS:

if (Meteor.isClient) {
Meteor.startup(function() {
        $( "span" ).append('Hello');
      });


我没有任何错误,也没有任何反应或附加。

HTML:

<span>lorem ipsum</span>
<p>stackoverflow</p>


我认为问题是$('span').append('Hello');它在html代码之前加载?

最佳答案

是的,Meteor需要使用其渲染器自己的钩子来实现“ DOM就绪”。如果使用Blaze(到目前为止,是Meteor的默认渲染器),则可以使用Template.templateName.onRendered()函数:

Template.templateName.onRendered(function () {
  $( "span" ).append('Hello');
});


这会将“ Hello”附加到模板templateName可能包含的任何范围。

请注意,正如我之前暗示的那样,这取决于您为应用选择的渲染器是不同的:Blaze,Angular或React。 (或者其他任何事情)但是默认的是Blaze,所以如果您不知道使用的是哪个,则可能是Blaze。

10-07 19:59
查看更多