Javascript JQuery添加<;车身>;同学们,需要更多的帮助吗

Javascript JQuery添加<;车身>;同学们,需要更多的帮助吗,javascript,jquery,theming,Javascript,Jquery,Theming,我有这段代码来解析URL,并在HTML页面的标记中添加一个类 var pathname = window.location.pathname; var pathSlashesReplaced = pathname.replace(/\//g, " "); var pathSlashesReplacedNoFirstDash = pathSlashesReplaced.replace(" ",""); var newClass = pathSlashesReplacedNoFirstDash.re

我有这段代码来解析URL,并在HTML页面的
标记中添加一个类

var pathname = window.location.pathname;
var pathSlashesReplaced = pathname.replace(/\//g, " ");
var pathSlashesReplacedNoFirstDash = pathSlashesReplaced.replace(" ","");
var newClass = pathSlashesReplacedNoFirstDash.replace(/(\.[\s\S]+)/ig, "");

$("body").attr("class",newClass);
if ( $("body").attr("class") == "")
{
$("body").addClass("class");
}
我遇到的问题是,它删除了已有的body类。相反,我希望附加到任何存在的body类,而不是覆盖

使用以下命令:

$("body").addClass(newClass);
而不是

$("body").attr("class",newClass);

这是一个setter:
$(“body”).attr(“class”,newClass)
将类设置为新类,而不附加它。

使用
addClass
而不是
attr('class',newClass)
addClass
还接受以空格分隔的类名列表,并正确地添加它们

$("body").addClass(newClass);
if ( $("body").attr("class") == "") // Makes no sense, since you have previously 
{                                   // added `newClass`
    $("body").addClass("class");
}
有关
addClass
的文档,请参阅
。attr(“class”,newClass)
正在删除所有现有类。您应该改用
.addClass()

$("body").addClass(newClass);
此外,由于您刚刚将一个类添加到
body
,下面的代码将始终为false:

if ( $("body").attr("class") == "") { }

改用addClass函数-

使用
$('body')有什么问题。addClass(newClass)
$('body')[0]。className+=''+newClass