Javascript 在内部传递节点<;内容>;到嵌套的组件元素

Javascript 在内部传递节点<;内容>;到嵌套的组件元素,javascript,html,polymer,web-component,Javascript,Html,Polymer,Web Component,我有两种聚合物元素: <polymer-element name="image-slider"> <template> <content id="images" select="img"> </template> <script> Polymer('image-slider', { ready: function() { $(this.$.images.getDistributedNodes

我有两种聚合物元素:

<polymer-element name="image-slider">
  <template>
    <content id="images" select="img">
  </template>

  <script>
  Polymer('image-slider', {
    ready: function() {
      $(this.$.images.getDistributedNodes()).each(function() {
        $(this).width(100);
      });
      console.group('image-slider');
      console.log('content#images nodes: ', this.$.images.getDistributedNodes());
      console.groupEnd('image-slider');
    }
  })
  </script>
</polymer-element>


<polymer-element name="fruit-item">
  <template>
    <image-slider>
      <content id="images" select="img">
    </image-slider>
  </template>

  <script>
  Polymer('fruit-item', {
    ready: function() {

    }
  })
  </script>
</polymer-element>

聚合物(“图像滑块”{
就绪:函数(){
$(this.$.images.getDistributedNodes()).each(function()){
$(此)。宽度(100);
});
控制台组(“图像滑块”);
console.log('content#images nodes:',this.$.images.getDistributedNodes());
console.groupEnd('image-slider');
}
})
聚合物(“水果项目”{
就绪:函数(){
}
})
如您所见,请使用

我正在尝试将
中的所有
内容传递到
。不幸的是,它不起作用。 它从
s内容传递文本节点,而不是
s


在您的自定义元素中有相当一部分您根本不需要。我在上做了重写,但要点是不要使用JS,而是使用
:host
::content
阴影dom选择器进行样式设置。这立即消除了对您正在使用的
ready
函数的任何需要,因此将您的元素改为
noscript
元素。

问题仍然存在。通过javascript更改宽度只是一个例子。然后,您需要给出一个新的更好的例子,因为您说明的问题很容易解决。在您的示例中,
水果项目
中的图像很大。它们应该像
图像滑块中的那样小。PS你确定你给了我正确的链接吗?这和我给的一样,我看不出有任何变化。。。打开我的链接不会打开我所做的更改。让我给你做一把新小提琴,这样我们就可以确定它有固定的密码。抱歉(jsbin到底做了什么…)jsbin更新了。这不应该恢复到原始示例,因为它完全是一个新的jsbin。这就是说,将Chrome与Firefox进行比较表明Firefox弄错了这一点,因此Polymer在填充
::content
选择器时可能存在一个bug,可能需要您在