选择元素(聚合物1.0)

时间:2015-06-02 18:31:42

标签: polymer polymer-1.0

我正在迁移到Polymer 1.0

这是我的模板:

<template>
    <div class="scroll">
        <div class="content">
            <content></content>
        </div>
        <div class="bar barY"></div>
    </div>
</template>

内容在主html文件中填充了文本。

我需要获得此div的滚动高度。我以前做过:

height = $(this.shadowRoot).find('.content')[0].scrollHeight;

但这不再适用了:

Uncaught TypeError: Cannot read property 'scrollHeight' of undefined

我尝试在div中添加一个id,然后选择它:

height = this.$.content.scrollHeight;

但是这给了我一个0的值,即使内容中有很多文字。

我从ready函数调用此代码。

我是否正确选择了元素?

1 个答案:

答案 0 :(得分:7)

<content>实际上并不包含组件的内容,而是为这些内容提供插入点,这些内容将成为<content>元素的兄弟。要获取为给定<content>节点插入的元素,可以使用以下命令:

var content = Polymer.dom(this.root).querySelector('content');
var distributed = Polymer.dom(content).getDistributedNodes()

上述文档可在https://www.polymer-project.org/1.0/docs/devguide/local-dom.html#dom-api-examples找到,并附有更完整的示例。