使用JavaScript更改<span>元素的类

12

我正在尝试使用以下代码用Javascript更改一个元素的类:

parent.document.getElementById('<?php echo $markid ?>').class = 'unlistened';

不过我运气不太好。我如何正确地做到这一点?

5个回答

23

使用.className而不是.class


哎呀!你比我快了20秒 :p - peirix

9

使用.className替代.class

在JS中,Class是一个保留字,因此被更改为className。几个其他的HTML属性也以类似的方式更改。例如,“for”更改为“htmlFor”。


5

className应该能解决这个问题(:


2

小提示,如果你现在在做JavaScript开发,使用jQuery会更加容易,因为它非常简单,只需要你有良好的CSS知识(比如选择器等)。

你可以这样添加class:$(selector).addClass('myclass');

并且可以这样获取class:

$(selector).attr('class');

如果一个元素有多个class,以上函数会返回所有class,用空格隔开(就像在HTML class属性中定义的那样)。如果你想检查某个特定的class是否存在,请这样做:

$(selector).hasClass('class');

这就是使用jQuery进行class操作的基础知识。查看http://docs.jquery.com/了解更多。


我不确定为什么人们在踩我的答案。它是一个有用和友好的建议... - Will Morgan
我没有点踩,但我想可能是因为没有提到要在jQuery中寻找解决方案,而只是纯JS。 - Darko
如果您还没有使用jQuery,那么这并不是一个有用的答案,如果纯JavaScript解决方案同样简单(在这种情况下,甚至比您的建议更容易...)。顺便说一句 - 我没有给您投反对票... - awe
如果你要修改DOM,很可能会使用库来完成。这可能有点懒,但我宁愿包含一个50k的库并编写优雅的代码,也不愿费心重新发明轮子。 - Will Morgan

-3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接