从currentView获取jQuery元素

时间:2015-02-17 18:48:31

标签: meteor meteor-blaze

在api文档中,可以使用选择器找到当前模板实例视图,前提是选择器的属性是提前知道的。

template.findAll(selector)
template.$(selector)

我也知道可以从Blaze.currentView或template.view获取视图,但是可以从Blaze.currentView或template.view获取jQuery元素吗?我想这样做是因为我不提前知道模板实例的属性。

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令访问与模板实例或视图关联的第一个和最后一个DOM节点:

  • 模板实例上的firstNode和lastNode属性。
  • Blaze.View实例上的firstNode()和lastNode()方法。

检索DOM元素时,可以像往常一样使用$函数从中构建jQuery对象。 HTML

<template name="test">
  <p>First paragraph</p>
  <p>Last paragraph</p>
</template>

JS

Template.test.rendered=function(){
  var $firstNode=$(this.firstNode);
  $firstNode.css("backgroundColor","red");
  //
  var $lastNode=$(this.view.lastNode());
  $lastNode.css("backgroundColor","green");
};

在此处查看Blaze.View完整文档:http://docs.meteor.com/#/full/blaze_view