Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript/jquery访问阴影DOM属性(聚合物)?_Javascript_Jquery_Polymer_Shadow Dom - Fatal编程技术网

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

使用javascript/jquery访问阴影DOM属性(聚合物)?,javascript,jquery,polymer,shadow-dom,Javascript,Jquery,Polymer,Shadow Dom,我目前正在使用polymer的core scaffold&co.创建带有内容区域的标题/侧栏。我目前遇到的问题是无法访问content元素的某些属性,例如scrollTop。(因为我需要访问的实际scrollTop属性是在阴影DOM中定义的。) 这与我正在使用的lazyload jquery插件冲突。插件正在检查window.scrollTop,但是更改插件以检查我的内容的scrollTop(滚动而不是窗口)不会有任何影响,因为scrollTop在阴影DOM中是“隐藏”的 有没有办法访问shad

我目前正在使用polymer的core scaffold&co.创建带有内容区域的标题/侧栏。我目前遇到的问题是无法访问content元素的某些属性,例如scrollTop。(因为我需要访问的实际scrollTop属性是在阴影DOM中定义的。)

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

有没有办法访问shadowdom元素?我唯一能找到的就是访问您自己用createShadowroot创建的ShadowDOM对象(或其他名称),但我似乎找不到任何关于如何访问现有/创建的阴影根的参考

下面是示例代码

<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
属性,该属性描述底层元素(作为
文档

e、 g,
some_元素.shadowRoot.firstElementChild

您还可以使用
querySelector
访问阴影根,例如:

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