2013-11-20 25 views
3

我有一个PolymerElement,我经常需要通过ID访问内部元素。我的聚合物元件看起来是这样的:在我的聚合物元素中有通过ID获取元素的更简单的方法吗?

<polymer-element name="my-element"> 
<template> 
    <div id="idOne">...</div> 
    <div id="idTwo">...</div> 
    .... 
</template> 
</polymer-element> 

当前访问各种div的看起来是这样的:

// other stuff here. 
var elOne = shadowRoot.querySelector('#idOne'); 
var elTwo = shadowRoot.querySelector('#idTwo'); 

有没有实现这一点的更简单的方法?

回答

4

绝对! Polymer类提供一个影子根访问器,用于通过您的自定义元素中的ID查询元素。只需使用$[]即可。

以上镖代码变为:

var elOne = $['idOne']; 
var elTwo = $['idTwo']; 

注意,重要的是你离开了从ID的哈希符号(#)是很重要的。目前这个表单只支持通过ID查询影子根目录,并且当前不支持基于类的选择和ElementLists