在对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] + " ", " ");
}
如果匹配的子字符串不存在,那么
replace
不会删除任何内容。关于jquery - hasClass应该在removeClass之前-jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10895631/