1

我有以下 HTML:

<html class="black abc"> or 
<html class="red def"> or
<html class="red this is a test">
etc ...

使用以下函数,我可以获得第一类的值:

var color = html.className.split(' ')[0]

我怎样才能把头等舱改成别的东西。例如我该如何改变:

<html class="black abc">

to

<html class="red abc">
4

5 回答 5

1
var tags = document.getElementsByTagName('html')[0].className.split(' '); //Get a list of tags.
tags[0] = 'foo'; //Change the 0th tag
html.className = document.getElementsByTagName('html')[0].join(' '); //Put the tag list into the html
于 2013-10-22T04:29:32.660 回答
1

干得好:

var tags = document.getElementsByTagName('html')[0];
var classList = tags.className.split(' '); //Converting class string to an array
classList[0] = 'red'; // Changing the first class
tags.className = classList.join(' '); // Adding updated class list
于 2013-10-22T04:45:19.853 回答
1

我想你正在寻找这个(只需要更改任何 html 元素的 class 属性)

你也可以用 JQuery 做到这一点,

$("ID_OF_YOUR_ELEMENT").removeClass('PREVIOUS_CLASS').addClass('NEW_CLASS');

还有其他选项可用于执行此操作 JQuery 支持.toggleClass

于 2013-10-22T04:45:52.440 回答
1

使用类列表

删除类

var elem = document.getElementsByTagName('html')[0].classList.remove("black");

添加类

var elem = document.getElementsByTagName('html')[0].classList.add("red");
于 2013-10-22T05:01:45.703 回答
0

<head>在's <script>-section中定义如下函数:

function class_replace_with(new_classname)
{
    var color1=html.className.split(' ')[0];
    html.className=html.className.substring(0, html.className.indexOf(' ')) + new_classname + html.className.substring(html.className.indexOf(' '));
}

因此,出于您的特定目的,将函数调用为:

class_replace_with('red');// as you have used red as the replacement for black.
于 2013-10-22T05:36:22.903 回答