我知道JavaScripts或jQuery插件设置了一些正文类(例如<body class="ff3.5 ff win gecko some-awesome-icons-article-with-100-icons">
之类的东西)
我不知道怎么叫...?
你知道我的意思吗,你有它的链接/名字吗?
设置为css-body-class的文章的路径对我来说比对浏览器或操作系统更重要。
答案 0 :(得分:2)
我认为你要求的代码将提取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的一部分,并将其写入body标签的class
属性中。如果url路径是“目录”(即它以斜杠结尾),那么它将使用尾随目录名称。如果网址路径只是'/',则默认添加类名'default-no-basename'
。
重要提示:以上代码不会做任何事情以确保类名符合css类名中允许的字符。因此,如果您的网址类似于:http://example.com/abc/my-cool-page(with stuff).html
,那么您将遇到问题,因为css类将设置为"my-cool-page(with stuff).html"
。
因此,您要确保永远不会在具有特殊字符的页面上调用此字符(例如(
,)
,.
和[空格]字符上面的例子)。或者你想要在这个逻辑中添加一些检查以去除不允许的字符。
答案 1 :(得分:1)
如果我理解了您的查询,则需要为某个标记添加一个类。使用jquery就是这样做的。
$('body').addClass('anyClass');
答案 2 :(得分:0)
我找到了一个JavaScript解决方案:http://snipt.net/mountainash/javascript-adds-classes-to-body-based-on-url/