选择动态创建的Element Polymer 1.0 Safari

时间:2016-12-14 23:46:55

标签: javascript safari polymer mobile-safari

我正在尝试将两个子节点附加到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>

1 个答案:

答案 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);