我想用jQuery向body标签添加一个类。
例如,如果网址为http://www.mywebsite.com/about_us.asp,我想在正文标记中添加前五个字母,在本例中为“about”:
<body class="about">
我该怎么做?
答案 0 :(得分:44)
这应该这样做:
var newClass = window.location.href;
newClass = newClass.substring(newClass.lastIndexOf('/')+1, 5);
$('body').addClass(newClass);
整个“五个字”的东西有点令人担忧;那种任意截止通常是一个红旗。我建议捕捉所有内容,直到_或。:
newClass = newClass.match(/\/[^\/]+(_|\.)[^\/]+$/);
该模式应该产生以下结果:
../about_us.html
:about ../something.html
:某事./has_two_underscores.html
:答案 1 :(得分:12)
使用:
$(document.body).addClass('about');
答案 2 :(得分:2)
您可以使用简单的regular expression
提取该部分网址var url = location.href;
var className = url.match(/\w+\/(\w+)_/)[1];
$('body').addClass(className);
答案 3 :(得分:0)
$('body').toggleClass("className");
完美无缺
答案 4 :(得分:-1)
好吧,你会想要document.location
。对它执行某种字符串操作(除非jQuery有办法避免为你工作)然后
$(body).addClass(foo);
我知道这不是完整的答案,但我认为你可以完成其余的工作:)
答案 5 :(得分:-3)
这样的事可能有用:
$("body").attr("class", "about");
它使用jQuery的attr()
将关于'的类'添加到正文中。
答案 6 :(得分:-4)