首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Meteor-Blaze向类添加属性

使用Meteor-Blaze向类添加属性
EN

Stack Overflow用户
提问于 2014-07-01 04:14:46
回答 1查看 692关注 0票数 0

我如何使用Meteor + Blaze来做下面的事情,以及/或者为什么这个不起作用?

代码做/不做下面所说的事情

代码语言:javascript
复制
// client...

$(document).ready(function () {
  console.log("this logs...");
  $('a.external').each(function () {
    console.log("this doesn't log");
    $(this).attr('title', 'External Link');
  });
});
EN

回答 1

Stack Overflow用户

发布于 2014-07-01 04:26:37

在Meteor中,你需要在绘制DOM后小心操作它。当所有脚本都已下载,但DOM尚未绘制时,上述代码将被触发。

幸运的是,这非常简单!

如果你的模板是这个

代码语言:javascript
复制
<template name="hello">
    <a href="https://servicelocale.com/" class="external">Link</a>
</template>

然后,您可以使用呈现的回调:

代码语言:javascript
复制
Template.hello.rendered = function() {
    this.$('a.external').each(function () {
        $(this).attr('title', 'External Link');
    });
}

我还在呈现的回调中使用了this.$而不是$。这很有用,因为它只在hello模板中查找,而不是在整个模板中查找。因此,您可以将标题放在页面上,但可以放在不同的模板中,并且不会添加<a class="external"属性。

您也可以在这里使用$

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24498251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档