我的一位同事坚持认为,在添加或删除元素之前,首先检查元素是否存在。
因此他的代码中有很多构造如下:
if (element.classList.contains('info')) {
element.classList.remove('info');
}
if (!element.classList.contains('hint')) {
element.classList.add('hint');
}
我个人认为,如果用.contains()退出支票,就不会发生任何事情。
应该意思是:
如果班级不存在,则不会删除任何内容。这句话毫无意义。
如果班级已经在那里,则不会添加任何内容。
我的同事是否对他坚持支票是正确的,因为不检查可能会导致一些麻烦?
或者我可以忘记检查吗?
答案 0 :(得分:14)
明确检查毫无意义。这是浪费时间并使你的代码膨胀。
这些检查有效地内置于添加和删除类方法。
如果您尝试添加该元素已经是其成员的类,则classList.add
将忽略它。
如果您尝试删除该元素不是其成员的类,则classList.remove
将不执行任何操作。
答案 1 :(得分:0)
两种方式都是正确的,没有任何意义,这是重要的,但在某些情况下,您可能需要使用.contains()
完全取决于您的情况。
但是全球并不重要,你可以直接删除该类。如果类存在,则代码将起作用,否则不起作用。