我刚开始使用流星,所以我想在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。