情景非常简单。我构建了一个以字符串作为参数的函数。然后我将这些字符串作为类添加到文档的主体上。
现在,这些类可以改变。我想删除旧类并添加新类。我想这样做而不杀死任何现有的身体类,所以:document.body.className = "";
是不可能的。
我的解决方案运行正常,但似乎很臃肿。我想我可能已经将代码混淆了将prev
变量存储在函数范围之外的想法。
以下是JS Fiddle与解决方案的链接:https://jsfiddle.net/tgfer9ya/2/
有没有人就如何简化这项工作或提高效率提出建议?
先谢谢。
答案 0 :(得分:0)
这个怎么样?
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;
}
}