【发布时间】:2014-08-20 22:29:46
【问题描述】:
我是使用 Polymer 的新手,我正在尝试通过 jQuery 访问新自定义元素的 DOM,但没有成功。
我正在尝试通过 domReady 方法访问元素,此时元素的初始子集保证存在。
非常感谢任何帮助!
自定义元素:
<template>
<link rel="stylesheet" href="seed-element.css" />
<style>
.hero-slider { max-width: 1440px; }
</style>
<content>
<section class="hero-slider">
<div class="iosSlider">
<div class="slider">
<div class="item">
<img src="img/imageTest1.jpg" alt="IMAGE TEST 1">
</div>
<div class="item">
<img src="img/imageTest5.jpg" alt="IMAGE TEST 5">
</div>
</div>
</div>
</section>
</content>
</template>
<script>
Polymer('seed-element', {
domReady: function() {
var shadowRoot = $(this.shadowRoot || this);
var iosSliderElement = shadowRoot.find('.iosSlider');
iosSliderElement.iosSlider({
snapToChildren: true,
desktopClickDrag: true,
keyboardControls: true,
scrollbar: true,
scrollbarDrag: true,
scrollbarHide: false,
scrollbarLocation: 'bottom',
scrollbarBackground: '#000000',
scrollbarOpacity: '1',
scrollbarBorderRadius: '0'
});
}
});
</script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.iosslider.js"></script>
HTML:
<head>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<title>seed-element Demo</title>
<script src="../../platform/platform.js"></script>
<link rel="import" href="seed-element.html">
</head>
<body unresolved>
<seed-element></seed-element>
</body>
【问题讨论】:
-
我不能肯定地说,因为你没有包括一个例子,但我猜这个问题与你 不能 从 Polymer 元素外部的脚本访问该元素的 Shadow DOM。
-
感谢您的回复。我正在尝试创建一个滑块元素。一旦加载了 DOM,就会调用 jQuery 插件(所有文件都在自定义元素中),但我仍然无法访问任何子节点。知道如何访问它们吗?
-
很遗憾,我对 Polymer 不是很熟悉,所以不知道如何回答。我建议您编辑您的帖子以包含您的代码当前外观的Minimal, Complete, and Verifiable example,以便其他比我更熟悉 Polymer 的人能够更好地帮助您。
标签: jquery polymer web-component shadow-dom