我知道有一些JavaScripts或jQuery插件设置了一些主体类(例如,类似<body class="ff3.5 ff win gecko some-awesome-icons-article-with-100-icons">的东西),但我不知道它是如何命名的……?你明白我的意思吗?你有它的链接/名称吗?设置为css-body-class的文章路径对我来说比浏览器或操作系统更重要。
发布于 2010-11-01 04:23:44
我找到了一个JavaScript解决方案:http://snipt.net/mountainash/javascript-adds-classes-to-body-based-on-url/
发布于 2010-11-01 04:09:36
我认为您要求的代码将提取url路径的"filename“部分,并将其设置为body元素上的类名。
如果是这样的话,下面是基本的想法:
$(document).ready(function() {
var parts = window.location.pathname.split('/');
var basename = "default-no-basename";
if( parts && parts.length ) {
var idx = parts.length-1;
if( parts[idx] == '' && parts.length > 1 ) {
--idx;
}
basename = parts[idx];
}
//alert("basename: "+basename);
$(body).addClass( basename );
});该代码只是提取最后一个斜杠后面的页面url部分,并将其写入主体标记的class属性中。如果url路径是“目录”(即,它以一个斜杠结尾),然后它将使用结尾的目录名。如果url路径只是'/',那么它将默认添加类名'default-no-basename'。
要点:上面的代码没有做任何事情来确保类名符合css类名中允许的字符。因此,如果您的url类似于: css,那么您就会遇到问题,因为css类将被设置为"my-cool-page(with stuff).html"。
因此,您可能希望确保不会在包含特殊字符(如上面示例中的(、)、.和空格字符)的页面上调用此方法。或者,您可能希望在该逻辑中添加一些检查,以剔除不允许的字符。
祝好运。
发布于 2010-11-01 03:59:54
如果我理解了你的问题,你需要给某个标签添加一个类。使用jquery可以做到这一点。
$('body').addClass('anyClass');https://stackoverflow.com/questions/4064781
复制相似问题