我正在尝试将两个子节点附加到Polymer中的轮播中。这在Chrome中运行良好,但我在Safari中遇到以下控制台错误:
TypeError:null不是对象(评估
'this.$$('#' + this.slideId1 + '').appendChild'
)
有没有办法在Safari中按Id选择动态创建的节点?
我目前正在使用this.$$()
聚合物方法。
<l2t-paper-slider id="paperSlider" total-slides="{{slides}}"></l2t-paper-slider>
<script>
Polymer({...
_appendNode: function() {
this.$$('#paperSlider').appendChild(this.slide);
this.$$('#' + this.slideId1 + '').appendChild(this.slideData);
}
});
</script>
答案 0 :(得分:1)
您是否尝试过使用:
Polymer.dom(this.root).querySelectorAll("paper-card");
在你的情况下:
Polymer.dom(this.root).querySelectorAll("#paperSlider").appendChild(this.slide);
请记住,appendChild需要一个节点,因此您可能需要先创建一个
var mypaperSlider = Polymer.dom(this.root).querySelector('#paperSlider');
var slide = document.createElement('paper-slide');
Polymer.dom(this.root).querySelectorAll("#paperSlider").appendChild(slide);