我需要从meteor包中删除一个类<div>
,但以下代码不起作用:
if (Meteor.isClient) {
Meteor.startup(function () {
$('div').removeClass('class-to-remove');
});
}
文档说:
在客户端上,首先调用来自包的启动回调,然后是.html文件中的模板,然后是应用程序代码。
有一种方法可以从包内修改DOM吗?
答案 0 :(得分:0)
您是否尝试过vanilla JS代码而不是jQuery?
document.getElementById('divId').classList.remove('class-to-remove');
编辑:附上新样本
我们说我们有这个模板标记:
<template name="appBody">
<div id="myCustomDiv" class="I-will-stay-here I-will-be-removed-by-package">
...
</div>
</template>
在包下创建一个自定义js文件(例如/ lib)并在那里添加你的DOM操作代码e.G: [项目根目录] / packages / [您的包裹] /lib/my-custom.js
if (Meteor.isClient) {
Template.body.rendered = function() {
$('#myCustomDiv').removeClass ('I-will-be-removed-by-package');
};
};
在 package.js 中,确保您拥有以下 api.use 配置:
api.use(['jquery','templating','spacebars','blaze','ui'], 'client');
api.addFiles('/lib/my-custom.js','client');