Javascript添加类代码效率

时间:2016-02-02 04:51:57

标签: javascript jquery

情景非常简单。我构建了一个以字符串作为参数的函数。然后我将这些字符串作为类添加到文档的主体上。

现在,这些类可以改变。我想删除旧类并添加新类。我想这样做而不杀死任何现有的身体类,所以:document.body.className = "";是不可能的。

我的解决方案运行正常,但似乎很臃肿。我想我可能已经将代码混淆了将prev变量存储在函数范围之外的想法。

以下是JS Fiddle与解决方案的链接:https://jsfiddle.net/tgfer9ya/2/

有没有人就如何简化这项工作或提高效率提出建议?

先谢谢。

1 个答案:

答案 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;
  }  
}

JSFiddle