javascript - 我可以使用 jQuery 访问影子 DOM 吗?

标签 javascript jquery dom polymer shadow-dom

我用这样的 polymer 定义了一个组件:

<polymer-element name="my-component">
  <template>
    <div id='test'>CONTENT</div>
  </template>
</polymer-element>

现在我想访问shadow dom,例如:获取div id='test'的内容

var x = $("div#test").html();

给定的代码不起作用。 我可以用jquery访问shadow dom吗?

最佳答案

不,不在 polymer 元素之外。

阅读完 Polymer 后,您似乎只能在 Polymer 元素内的脚本中访问 Polymer 元素的 Shadow-DOM。 Polymer 文档位于 Automatic node finding说:

Every node in a component’s shadow DOM that is tagged with an id attribute is automatically referenced in the component’s this.$ hash.

这意味着您可以添加 <script>标记为 <template> 的同级哪里this.$.test将是您想要的元素。

<polymer-element name="my-component">
  <template>
    <div id='test'>CONTENT</div>
  </template>
  <script>
    Polymer('my-component', {
        logNameValue: function () {
            console.log('polymer element', this.$.test);
            console.log('jQuery wrapper of polymer element', $(this.$.test));
        }
    });
  </script>
</polymer-element>

关于javascript - 我可以使用 jQuery 访问影子 DOM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218859/

相关文章:

javascript - Android 设备长按导致在关闭覆盖 div 时触发底层链接

javascript - 关于导入js模块和函数作用域(local/global)的问题

Javascript 删除输入字段的值

Javascript 不断累加总和

jquery - 下拉框出现在屏幕外

jquery - 在输入字段中设置文本的问题

javascript - 在 jQuery 中更快地替换元素 HTML

javascript - 如何在发送响应 Node js (Sails) 之前设置 cookie

java - 将 org.w3c.dom.Document 漂亮地打印到标准输出的最短方法是什么?

html - Excel VBA : get content from online HTML table