我有ul
个列表,我需要使用javascript更改其中一个<li>
标记的类:
<ul>
<li>...</li>
<li class="something"> <- need to change this class to "myclass" (javascript goes here)</li>
<li>..</li>
</ul>
谢谢。
答案 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');