javascript - 如何从 Polymer 中的 Javascript 访问 light DOM 信息

标签 javascript polymer web-component

问题:

在 Web Components 规范中,当您想要读取 Light-DOM 中的元素时来自模板 <content select></content>可以使用元素。但是,如何从组件的 javascript 代码中检索此信息?

例子:

<wc-timer>
    <wc-timer-title>I want to read this from JS</wc-timer-title>
</wc-timer>

提前致谢,哈维尔。

最佳答案

记住 this原型(prototype)方法内部指的是元素本身。 IOW,就像你可以做的一样element.innerHTMLelement.firstChild你可以写this.innerHTMLthis.firstChild .

简单模式:

domReady: function() {
  console.log(this.textContent);
}

http://jsbin.com/bociz/2/edit

如果您使用 <content>,这会变得更加复杂通过多层次的 Shadow DOM 来投影节点。在这种情况下,您需要使用 getDistributedNodes API 的 <content>节点本身。

在开始之前,我建议您从简单的版本开始,如果您遇到麻烦,请提出后续问题。

关于javascript - 如何从 Polymer 中的 Javascript 访问 light DOM 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065727/

相关文章:

javascript - 如何打印可滚动的 DIV 内容

javascript - 当用户离开页面时,React 路由器组件不会销毁

Javascript 设置标题换行

javascript - JQuery 切换并删除多个 div 中的 css 类

javascript - 下一个身份验证 : How the registration is handled with a email + password credential provider?

Polymer Paper Tabs 滚动问题

events - Polymer 1.0 无法停止点击事件传播

web - @font-face 不适用于 polymer/网络组件

javascript - :host selector not working for custom element having shadow dom

javascript - 使用 Web 组件而不注册为自定义元素?