首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery插件/JavaScript:用实际的URL设置body-class

jQuery插件/JavaScript:用实际的URL设置body-class
EN

Stack Overflow用户
提问于 2010-11-01 03:42:14
回答 3查看 870关注 0票数 0

我知道有一些JavaScripts或jQuery插件设置了一些主体类(例如,类似<body class="ff3.5 ff win gecko some-awesome-icons-article-with-100-icons">的东西),但我不知道它是如何命名的……?你明白我的意思吗?你有它的链接/名称吗?设置为css-body-class的文章路径对我来说比浏览器或操作系统更重要。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-01 04:23:44

我找到了一个JavaScript解决方案:http://snipt.net/mountainash/javascript-adds-classes-to-body-based-on-url/

票数 0
EN

Stack Overflow用户

发布于 2010-11-01 04:09:36

我认为您要求的代码将提取url路径的"filename“部分,并将其设置为body元素上的类名。

如果是这样的话,下面是基本的想法:

代码语言:javascript
复制
$(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"

因此,您可能希望确保不会在包含特殊字符(如上面示例中的().和空格字符)的页面上调用此方法。或者,您可能希望在该逻辑中添加一些检查,以剔除不允许的字符。

祝好运。

票数 2
EN

Stack Overflow用户

发布于 2010-11-01 03:59:54

如果我理解了你的问题,你需要给某个标签添加一个类。使用jquery可以做到这一点。

代码语言:javascript
复制
$('body').addClass('anyClass');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4064781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档