我有一个PolymerElement,我经常需要通过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');
有没有更简单的方法来实现这个目标?
答案 0 :(得分:4)
绝对! Polymer类提供了一个Shadow root访问器,用于在自定义元素中按ID查询元素。只需使用$[]
。
以上飞镖码成为:
var elOne = $['idOne'];
var elTwo = $['idTwo'];
请注意,从ID中省略哈希符号(#
)非常重要。目前,此表单仅支持按ID查询影子根,并且当前不支持基于类的选择和ElementLists。