使用JavaScript获取元素的类名,无需任何库

49
我想使用JavaScript获取元素的class属性值,但在这种情况下我没有像YUI、jQuery等库那样的便利。具体来说,我正在循环遍历一个表格并想要检查单元格的类。我尝试了以下方法: var colClass = el.getAttribute('class');
var colClass = el.class;

但似乎两者都没有起作用。 在上面的例子中,el 是从表格的单元格数组中设置的,例如 var el = document.getElementById('myTable').rows[y].cells[y];

4个回答

79

或许你应该尝试这个

var colClass = el.className

16

你发布的这行代码应该是有效的:

var colClass = el.getAttribute('class');
请在留言区提供您在浏览器中获得的错误信息。确保“el”不为空。

如果您无法使其正常工作,请注意对象的属性是className,而不是class:链接
var colClass = el.className;

1
getAttribute('class') 返回 null。对于相同的元素,.className 返回类。 - Aaron Silverman
@Zugwalt - 自从发布以来已经很长时间了。你知道为什么getAttribute可能会失败吗? - HelloWorldNoMore
@HelloWorldNoMore 可能在旧浏览器中看到,如IE6或IE7。 - Aaron Silverman

4

className?

Element.className

<html>
<body id="myid" class="mystyle">

<script>
var x=document.getElementsByTagName('body')[0];
document.write("Body CSS class: " + x.className);
document.write("<br>");
document.write("An alternate way: ");
document.write(document.getElementById('myid').className);
</script>

</body>
</html>

0

请记住:

如果您遇到错误,className无法正常工作,这可能是因为您的元素是jQuery对象。

works not on jquery

在上面的图片中,您可以看到我无法在jQuery对象上使用className。

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