我刚刚开始使用meteor,所以我想在jquery中使用append函数,但它不会附加任何东西
JS:
if (Meteor.isClient) {
Meteor.startup(function() {
$( "span" ).append('Hello');
});
我没有错误,没有任何反应或附加。
HTML:
<span>lorem ipsum</span>
<p>stackoverflow</p>
我认为问题是$('span').append('Hello');
它在html代码之前加载了吗?
答案 0 :(得分:3)
是的,Meteor需要使用其渲染器自己的钩子来实现&#34; DOM就绪&#34;。如果您使用Blaze(Meteor的默认渲染器,截至目前),您可以使用Template.templateName.onRendered()
功能:
Template.templateName.onRendered(function () {
$( "span" ).append('Hello');
});
这将附加&#34;你好&#34;对于模板templateName
可能包含的任何范围。
请注意,正如我之前暗示的那样,这将根据您为应用选择的渲染器而有所不同:Blaze,Angular或React。 (或其他任何事情)但默认的是Blaze,所以如果你不知道你正在使用哪一个,那可能就是Blaze。