JavaScript getting an elements class without any l

2019-01-25 01:24发布

I would like to get the value of the class attribute for an element using JavaScript. However in this particular situation I don't have the luxury of library such as YUI, jQuery, etc. and need to stick to the basics.

Specifically, I am looping over a table and want to check the class of the cell.

I tried:

var colClass = el.getAttribute('class');

and

var colClass = el.class;

But neither seems to be working. In the above example, el is set from cells array of a table, such as var el = document.getElementById('myTable').rows[y].cells[y];

4条回答
forever°为你锁心
2楼-- · 2019-01-25 01:53

This line that you posted should work:

var colClass = el.getAttribute('class');

Could you post what error you get in the browser? Make sure that el is not null.

If you won't get that one to work, the attribute of the object is className, not class:

var colClass = el.className;
查看更多
Root(大扎)
3楼-- · 2019-01-25 01:54

Maybe you should try this

var colClass = el.className
查看更多
女痞
4楼-- · 2019-01-25 02:03

Remember:

If you get an error and className does not work this can be due to your element being a jQuery object.

works not on jquery

In the picture above you see that I canot use className on a jQuery object

查看更多
甜甜的少女心
5楼-- · 2019-01-25 02:15

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>
查看更多
登录 后发表回答