在Dart中删除Polymer对象的所有其他实例上的类?

时间:2015-09-17 19:56:41

标签: dart polymer dart-polymer

我试图建立一个简单的手风琴聚合物组件。我有它工作,所以当我点击列表中的项目时,open类被添加到显示其内容的项目。

我不希望一次打开多个项目,所以在我的点击功能中,我基本上想说:

$(".list-item").on("click", function() {
    $("list-item").removeClass("open");
    $(this).addClass("open");
} 

当然这是jQuery而不是Dart ...所以这对我没什么帮助。

Dart中的上述等价物是什么?

这是我现在正在工作的内容(只需打开每个点击的项目,但不会在此过程中关闭其他项目。)

     _openedChanged: function() {
      if (this.opened) {
        this.toggleClass('open', true);
      }
      else {
        this.toggleClass('open', false);
      }
      this.setAttribute('aria-expanded', this.opened ? 'true' : 'false');
    }

1 个答案:

答案 0 :(得分:4)

要从Dart中的所有list-item元素中删除一个类,您可以执行以下操作:

querySelectorAll('list-item').forEach((item) => item.classes.remove('open'));