如何在body标签中添加一个类?

我想用jQuery向body标签添加一个类。

例如,如果URL是http://www.mywebsite.com/about_us.asp ,我想在body标签中添加前五个字母,在本例中为“about”:

 

我怎样才能做到这一点?

这应该这样做:

 var newClass = window.location.href; newClass = newClass.substring(newClass.lastIndexOf('/')+1, 5); $('body').addClass(newClass); 

整个“五个字”的东西有点令人担忧; 那种任意截止通常是一个红旗。 我建议捕捉所有内容,直到_或。:

 newClass = newClass.match(/\/[^\/]+(_|\.)[^\/]+$/); 

该模式应该产生以下结果:

  • ../about_us.html :关于
  • ../something.html :某事
  • ./has_two_underscores.html :有

使用:

 $(document.body).addClass('about'); 

您可以使用简单的正则表达式提取URL的该部分:

 var url = location.href; var className = url.match(/\w+\/(\w+)_/)[1]; $('body').addClass(className); 
 $('body').toggleClass("className") 

完美的作品

好吧,你会想要document.location 。 对它进行某种字符串操作(除非jQuery有办法避免为你工作)然后

 $(body).addClass(foo); 

我知道这不是完整的答案,但我认为你可以rest了:)

这样的事情可能有用:

 $("body").attr("class", "about"); 

它使用jQuery的attr()将类‘about’添加到body中。

我有同样的问题,

  

向正文添加ID标记:

 $('#body').attr('class',json.class); // My class comes from Ajax/JSON, but change it to whatever you require. 

然后使用id切换正文的类。 这已在Chrome ,Internet Explorer和Safari中进行了测试。