Javascript更改元素的类

时间:2009-12-18 21:07:20

标签: javascript class

我有ul个列表,我需要使用javascript更改其中一个<li>标记的类:

<ul>
  <li>...</li>
  <li class="something"> <- need to change this class to "myclass" (javascript goes here)</li>
  <li>..</li>
</ul>

谢谢。

4 个答案:

答案 0 :(得分:5)

使用jQuery(自然地):

$(function(){
    $("li.something").removeClass("something").addClass("myclass");
});

答案 1 :(得分:4)

由于似乎有很多jquery的答案,并且总是不可能使用jquery(例如,如果你的客户/公司不允许你使用它!),这里有一个简单的javascript示例。

// Where 'e' is the element in question, I'd advise using document.getElementById
// Unless this isn't possible.

// to remove
if ( e.className.match(/something/) ) {
    e.className = e.className.replace("something", "")
}

// to add back in
if ( !e.className.match(/something/) ) {
    e.className += " something"
}

这适用于多个类,例如:

<li class="something another">...</li>

答案 2 :(得分:0)

使用常规javascript:

var listitems = document.getElementsByTagName("li");
for (int i = 0; i < listitems.length; i++)
{
   if (listitems[i].className == "something")
   {
      listitems[i].className = "new class name";
      break;
   }
} 

如果您的<li>标记具有id属性,则可以更轻松,您可以执行

document.getElementById("liID").className = "newclassname";

答案 3 :(得分:-1)

使用JQuery:

$('ul li:nth-child(2)').attr('class', 'myclass');