Javascript添加类并保持原始

时间:2010-01-09 22:49:20

标签: javascript jquery

我使用以下内容:

url=location.href
fname=url.match(/.*\/(.*)\./)[1]
document.body.className=fname

这会占用网址的一部分,并在<body>标记中添加一个类,其中包含从网址中提取的文字。

然而,此方法的问题是只有在已经分配了类的情况下才会应用类。

我真的在寻找类似于JQUERY .addClass功能的东西,所以身体变成了:

<body class="originalClass filenameClass">

...

</body>

4 个答案:

答案 0 :(得分:10)

您不必替换该类,只需按此添加:

document.body.className += " " + fname

您可能希望对通过查询字符串...

到达的所有内容进行一些验证

答案 1 :(得分:4)

根据specs

  

classList返回元素的class属性的标记列表。

所以你可以这样做:

document.body.classList.add(fname);

它将像jQuery的addClass方法一样工作。只添加一次类并保留现有类。

你也可以这样做:

document.body.classList.remove(fname);

如果您想稍后删除课程

切换和包含方法也可以原生使用

答案 2 :(得分:3)

document.body.className+=" "+fname

答案 3 :(得分:1)

使用JQuery,您可以执行$("body.className").addClass(fname)或类似的不使用JQuery,您可以执行document.body.className + =“”+ fname