我正在尝试构建一个简单的 Accordion 聚合物组件。我可以使用它,因此当我单击列表中的项目时,会向该项目添加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');
}
最佳答案
要从Dart中的所有list-item
元素中删除类,您可以执行以下操作:
querySelectorAll('list-item').forEach((item) => item.classes.remove('open'));
关于dart - 删除Dart中的Polymer对象的所有其他实例上的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32638917/