场景相当简单。我构建了一个以字符串作为参数的函数。然后,我将这些字符串作为类添加到文档正文中。
现在,这些类可以更改。我想删除旧的类并添加新的类。我希望在不杀死任何现有body类的情况下完成此操作,因此:document.body.className = "";
是不可能的。
我的解决方案运行良好,但似乎有点臃肿。我想我可能混淆了在函数作用域之外存储prev
变量的想法。
这里有一个带有解决方案的JS小提琴的链接:https://jsfiddle.net/tgfer9ya/2/
有没有人对我如何简化它或使它更有效率有建议?
在进阶时谢谢。
发布于 2016-02-02 13:03:41
这个怎么样?
var currRegion = "";
var currLocale = "";
var currLang = "";
setBodyClasses("AMERICA", "en_US", "en");
function setBodyClasses(region, locale, lang) {
region = region.toLowerCase();
locale = locale.toLowerCase();
lang = lang.toLowerCase();
if (currRegion !== region) {
$("body").removeClass(currRegion).addClass(region);
currRegion = region;
}
if (currLocale !== locale) {
$("body").removeClass(currLocale).addClass(locale);
currLocale = locale;
}
if (currLang !== lang) {
$("body").removeClass(currLang).addClass(lang);
currLang = lang;
}
}
https://stackoverflow.com/questions/35145308
复制相似问题