要删除课程,请使用
getElementsByClassName("myclass1")[i].classList.remove("myclass2")
基于HTML5技术。 (我知道这不适用于IE9-,仅适用于浏览器。)
据我所知,绝对没问题,不检查是否存在类。正确?
但是,在我的情况下,我要移除myclass1
的网页上有许多myclass2
项,但其中大多数(假设90%)没有myclass2
。
检查类myclass2
是否存在将有助于提高性能,因为检查是否存在可能比删除快得多? (仍然不确定我的上一次陈述)
在我的案子中你会做什么?
谢谢。
答案 0 :(得分:1)
据我所知,绝对没问题,不检查是否存在类。正确?
是。 remove
只删除它找到的令牌。
检查myclass2类是否存在将有助于提高性能,因为检查是否存在比删除要快得多?
很难,因为它会在列表中搜索两次。
答案 1 :(得分:1)
getElementsByClassName
支持多个类,所以如果你想简化它,可以在参数中包含“myclass1”和“myclass2”,它只会返回那些同时具有这两个元素的元素(更多信息请参见此处) :https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName)。
所以,在你的情况下,我建议使用它:
getElementsByClassName("myclass1 myclass2")[i].classList.remove("myclass2")