2015-09-17 58 views
0

我正試圖建立一個簡單的手風琴聚合物組件。我有它的工作,所以當我點擊列表中的一個項目,一個open類被添加到顯示其內容的項目。移除Dart中Polymer對象的所有其他實例的類?

我不希望能有多個項目同時打開,所以在我點擊功能,我基本上是想說:

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

當然,這是在jQuery和不飛鏢。 ..所以這並沒有多大幫助。

飛鏢上面的等效物是什麼?

這是我現在正在工作的東西(只是打開每個點擊的項目,但不關閉其他人在這個過程中)。

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

回答

4

要刪除的飛鏢所有list-item要素類,你可以這樣做:

querySelectorAll('list-item').forEach((item) => item.classes.remove('open')); 
相關問題