我有ul
名单,我需要改变类<li>
的一个标签的使用javascript:的Javascript改变类元素
<ul>
<li>...</li>
<li class="something"> <- need to change this class to "myclass" (javascript goes here)</li>
<li>..</li>
</ul>
谢谢。
我有ul
名单,我需要改变类<li>
的一个标签的使用javascript:的Javascript改变类元素
<ul>
<li>...</li>
<li class="something"> <- need to change this class to "myclass" (javascript goes here)</li>
<li>..</li>
</ul>
谢谢。
使用jQuery(自然):
$(function(){
$("li.something").removeClass("something").addClass("myclass");
});
使用jQuery:
$('ul li:nth-child(2)').attr('class', 'myclass');
这将删除您可能想要的元素上的任何类。最好使用$('...')。addClass()和$('...')。removeClass()。 – sakabako 2009-12-18 21:15:44
对不起,但他*说*他说他希望实际的课程是''myclass''。可笑的是,降低了这个答案。 – 2009-12-18 21:44:41
使用常规的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";
由于似乎有很多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>
任何人有任何想法,为什么这已被拒绝?我错过了什么地方有错吗? – Jamie 2009-12-21 09:37:58
他们只是jQuery传福音的人投票反对他们的圣杯。 – DoctorLouie 2009-12-25 13:55:51
如果我不知道从头开始编写真正的JavaScript,因为大多数jQuery福音传播者往往无能为力,我也会投票回答你的答案,呵呵! – DoctorLouie 2009-12-25 13:57:18
你太快了,我几乎做:-)也 – 2009-12-18 21:09:54
注意,这个代码改变了所有li元素的“东西“class – 2009-12-18 21:11:00
另请注意,他的示例只包含”something“类的一个实例:) – inkedmn 2009-12-18 21:12:27