在使用jquery对象上的removeClass api之前,是否有必要检查一个类是否存在?
例如。
例如。
if($(this).hasClass("test")) $(this).removeClass("test");
要么
$(this).removeClass("test");
如果没有必要,为什么这样?
解决方法
只使用这个:
$(this).removeClass("test");
没有必要检查类的存在。
从jQuery sources我们可以看到,removeClass方法使用replace
方法来删除子字符串:
className = (" " + elem.className + " ").replace(rclass," "); for (c = 0,cl = classNames.length; c < cl; c++) { className = className.replace(" " + classNames[c] + " "," "); }