元素子元素的并发修改

时间:2013-11-19 09:28:22

标签: dom dart

在每个子元素之后将新元素插入给定元素(element)的“最佳”方法是什么。

以下自然会给出并发修改异常

element.children.forEach((Element child){
  var new_child = new DivElement();
  element.insertBefore(new_child, child);
});

1 个答案:

答案 0 :(得分:5)

避免ConcurrentModificationError的最简单方法是在进行修改之前调用toList()复制列表。

element.children.toList().forEach((Element child){
  var new_child = new DivElement();
  element.insertBefore(new_child, child);
});