javascript - 从 ember.js View 访问 DOM 元素的属性

标签 javascript ember.js handlebars.js

如何从 View 本身访问由 ember.js View 插入的 DOM 元素的属性。这是一个简短的例子。假设我有以下 cat.handlebars 模板:

{{#collection contentBinding="App.catsController"}}
  <div class="cat" {{bindAttr id="view.content.id"}}></div>
{{/collection}}

在这个 View 中使用:

App.CatView = Ember.View.extend({
  templateName: 'cat',
  catsBinding: 'App.catsController',
  didInsertElement: () ->
    #need to get the id of each DIV that is being inserted to add some JavaScript for it
    console.log 'context it ', this.$()
})

this.$() 返回一个嵌套很深的对象,我在其中找不到任何 DIV 的迹象。当我在 didInsertElement 函数中时,也没有定义 view.content.id

重申我的问题,当我在 View 中时,我如何添加一些与 View 插入的某些 DOM 元素相关的 Javascript 代码。

最佳答案

您可以使用 {{view.contentIndex}} 代替 {{view.content.id}}。由于您已将类名 cat 添加到您的 div,您可以使用 this.$('#index.cat') 访问它,其中 index 应替换为您要访问的内容的索引。

关于javascript - 从 ember.js View 访问 DOM 元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499921/

相关文章:

javascript - Ghost 1.0 Disqus 评论数未反射(reflect)帖子评论

ember.js - 渲染模板如何将自定义模板渲染到路由使用的默认模板中定义的导出中。

javascript - 如何从助手返回 html 元素?

javascript - 如何将按钮置于按下状态?

javascript - 查询 dynamodb shell 中的最后 10 个项目

ember.js - 你如何处理 Ember 中的多元化?

ember.js - 是否应该在模型或 Controller 中声明计算属性?

javascript - 自定义删除 DOM 元素问题

javascript - 动态添加/删除表单输入元素

ember.js - ember.js 中的多个动态段