2016-12-20 122 views
1

我一直在做的有很多:HtmlElement中的CssClassSet類是否需要檢查類是否存在?

if(item.classes.contains("item")){ 
    item.classes.remove("item"); 
} 

和類似:

if(! item.classes.contains("item")){ 
    item.classes.add("item"); 
} 

以爲這樣就可以多次添加字符串的CSS元素。

我很好奇,如果我可以叫添加/刪除,它會消除「項」等的所有實例

我的類文檔閱讀:css_class_set.dart和set.dart遵循有點更多,它似乎它會多次添加它,但也許我錯了。

IE:我可以做這樣的事情:

item.classes.add("item"); 
item.classes.add("item"); 
item.classes.add("item"); 

,當它讀取類,將有3個在那裏,然後如果我刪除「項」

item.classes.remove("item"); 

它會只刪除第一次迭代。

回答

1

當更深入地閱讀時,我忘記了使用的基本原則。這是實現一個集合,一次只能包含一個節點的實例。因此,在我的例子中,它永遠不會有超過1個類叫做物品,同樣因爲這個原因,刪除將永遠只刪除一個物品(因爲在物品中只有0或1個物品)。

在問這個問題之前,我應該更深入地研究數據結構,但對於沒有深入課堂閱讀的人來說,這是答案。