【问题标题】:How do you access element with a custom polymer element?如何使用自定义聚合物元素访问元素?
【发布时间】:2014-08-07 02:23:12
【问题描述】:

给定示例元素。

<my-element>
    <h1>Hello world</h1>
    <a href="/test">Test</a>
</my-element>

如何选择a标签的href

对不起,我没有更多,我一直在测试一大堆东西。

如果您有&lt;content id="a-tag" select="a"&gt;,我知道在&lt;template&gt; 内。你应该可以去this.$["a-tag"],但我不知道如何访问属性,而且我被困在阴影 DOM 中显示元素,这是我不想要的。想法?

【问题讨论】:

    标签: polymer web-component shadow-dom


    【解决方案1】:

    content.getDistributedNodes() 将为您提供通过 &lt;content&gt; 插入点的 light dom 节点列表。

    所以如果你使用&lt;content select="a"&gt;,这应该可以工作:

    content.getDistributedNodes()[0].href
    

    注意:this.$['a-tag'] 将不起作用。你需要这样做:

    this.$['a-tag'].getDistributedNodes()[0].href
    

    【讨论】:

    • 有什么办法不显示/显示主题中的内容,但仍然可以访问它?
    • 仍然需要这个答案:/ ^^
    【解决方案2】:

    你试过this.querySelector('a').href吗?您的 Polymer 元素方法内部的 this 指的是主机节点(Shadow DOM 外部)。

    【讨论】:

    • 这很好用!有没有办法选择没有 的自定义元素的 innerText
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多