如何在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中进行了测试。