使用javascript / jquery访问shadow DOM属性(聚合物)?

安德烈亚斯·加尔斯特(Andreas Galster)

我目前正在使用聚合物的芯支架&co。创建带有内容区域的标题/边栏。我目前遇到的问题是我无法访问内容元素的某些属性,例如scrollTop。(因为我需要访问的实际scrollTop属性是在影子DOM中定义的。)

这与我正在使用的lazyload jquery插件冲突。该插件正在检查window.scrollTop,但是更改插件以检查我的内容的scrollTop(滚动而不是窗口)不会有任何影响,因为scrollTop在影子DOM中“隐藏”了。

有没有办法访问影子DOM元素?我唯一能找到的就是访问您用createShadowroot(或任何被称为)创建的影子DOM对象,但是我似乎找不到任何有关如何访问已存在/创建的影子根的参考。

下面的示例代码

<core-scaffold>
  <core-header-panel navigation flex mode="seamed">

    <core-toolbar>
    <!--fixed toolbar-->
    </core-toolbar>

    <core-menu theme="core-light-theme">
      <core-item icon="settings" label="item1"></core-item>
      <core-item icon="settings" label="item2"></core-item>
    </core-menu>

  </core-header-panel>

  <div tool>
  <!--fixed header-->
  </div>

  <div id="content">

  <!-- get scrollTop of content? -->
  </div>
</core-scaffold>
斯科特·迈尔斯

每个具有ShadowDOM的元素还具有一个shadowRoot描述基础元素属性(作为document)。

例如, some_element.shadowRoot.firstElementChild

您还可以querySelector用来访问卷影根,例如:

document.querySelector('core-scaffold::shadow .someclass')会在firstsomeclass的影子根中找到第一个元素core-scaffold

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Javascript访问聚合物函数

来自分类Dev

使用jQuery访问聚合物元素变量

来自分类Dev

访问聚合物中的DOM

来自分类Dev

聚合物和使用JQuery

来自分类Dev

聚合物设置属性Javascript错误

来自分类Dev

使用切换和项目属性的聚合物“ dom-if”

来自分类Dev

聚合物1.x:访问聚合物对象的所有属性

来自分类Dev

在聚合物中使用本地DOM的数据列表

来自分类Dev

如何访问聚合物元素实例的属性或方法

来自分类Dev

聚合物表达式访问属性的名称

来自分类Dev

聚合物表达式访问属性的名称

来自分类Dev

如何访问聚合物中的属性值?

来自分类Dev

聚合物:父元素或其他元素的访问属性

来自分类Dev

具有Javascript和属性的聚合物数据绑定

来自分类Dev

聚合物+ jQuery Gridster

来自分类Dev

聚合物纸输入仅在 shadow dom 中,在浏览器中不可见

来自分类Dev

无法使用聚合物中的Iron-ajax访问Google Rest API

来自分类Dev

聚合物1.0:通过dom-repeat中的id访问元素

来自分类Dev

在PhoneGap应用程序中使用jQuery进行材质设计(聚合物)

来自分类Dev

在自定义聚合物元素中使用jquery toggle()

来自分类Dev

访问聚合物中的含量值

来自分类Dev

访问聚合物动态元素

来自分类Dev

聚合物-访问根元素

来自分类Dev

聚合物:使用dom-repeat中的按钮上的点击处理程序破坏数据绑定

来自分类Dev

嵌套模板中无法访问聚合物自定义元素属性

来自分类Dev

v1.0元素的聚合物元素访问属性

来自分类Dev

聚合物修复搞砸了Javascript

来自分类Dev

聚合物组件不封装JavaScript

来自分类Dev

聚合物WebComponent中的jQuery选择