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.getAttribu开发者_StackOverflow社区te('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];
Maybe you should try this
var colClass = el.className
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;
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>
Remember:
If you get an error and className does not work this can be due to your element being a jQuery object.
In the picture above you see that I canot use className on a jQuery object
精彩评论