jQuery插件/JavaScript:使用实际URL设置body类

jQuery插件/JavaScript:使用实际URL设置body类,javascript,jquery,Javascript,Jquery,我知道有JavaScripts或jQuery插件可以设置一些主体类(例如类似的) 我不知道这叫什么。。。? 你知道我的意思吗?你有它的链接/名称吗? 对我来说,设置为css主体类的文章路径比浏览器或操作系统更重要。如果我理解了您的查询,您需要向特定标记添加一个类。使用jquery可以做到这一点 $('body').addClass('anyClass'); 如果我理解了您的查询,您需要将类添加到某个标记中。使用jquery可以做到这一点 $('body').addClass('anyClass

我知道有JavaScripts或jQuery插件可以设置一些主体类(例如类似的
) 我不知道这叫什么。。。? 你知道我的意思吗?你有它的链接/名称吗?
对我来说,设置为css主体类的文章路径比浏览器或操作系统更重要。

如果我理解了您的查询,您需要向特定标记添加一个类。使用jquery可以做到这一点

$('body').addClass('anyClass');

如果我理解了您的查询,您需要将类添加到某个标记中。使用jquery可以做到这一点

$('body').addClass('anyClass');

我认为您要求的代码将提取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路径是一个“目录”(即以斜杠结尾),那么它将使用尾随的目录名。如果url路径仅为“/”,那么它将默认添加类名
“default-no-basename”

重要提示:上述代码不会确保类名符合css类名中允许的字符。因此,如果您的url类似于:
http://example.com/abc/my-cool-page(使用stuff.html)则会出现问题,因为css类将被设置为“我的酷页面(使用stuff.html)”

因此,您可能希望确保在具有特殊字符的页面上(如
,以及上述示例中的[space]字符)永远不会调用此函数。或者,您需要在该逻辑中添加一些签入,以除去不允许的字符


祝你好运。

我想你要求的代码将提取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路径是一个“目录”(即以斜杠结尾),那么它将使用尾随的目录名。如果url路径仅为“/”,那么它将默认添加类名
“default-no-basename”

重要提示:上述代码不会确保类名符合css类名中允许的字符。因此,如果您的url类似于:
http://example.com/abc/my-cool-page(使用stuff.html)则会出现问题,因为css类将被设置为“我的酷页面(使用stuff.html)”

因此,您可能希望确保在具有特殊字符的页面上(如
,以及上述示例中的[space]字符)永远不会调用此函数。或者,您需要在该逻辑中添加一些签入,以除去不允许的字符


祝你好运。

我找到了一个JavaScript解决方案:

我找到了一个JavaScript解决方案:

谢谢,但我知道如何使用jQuery设置/添加类;-)!但我不需要…谢谢,但我知道如何使用jQuery设置/添加类;-)!但我不需要…你能提供更多的信息来解释原因吗?将url设置为类名似乎有点过火。肯定有更好的办法。你能提供更多的信息来解释原因吗?将url设置为类名似乎有点过火。肯定有更好的办法。