我需要从给定的<tr>
代码中获取类名,但我无法这样做。
<table cellpadding=5 cellspacing=5>
<tr id='cat_abc123' class='class_a'>
<td>foo</td>
<td><input type='checkbox' name='cb1' value='1' onClick="info(this, 'abc123')">
</tr>
</table>
<script language='javascript'>
function info(theElement, id)
{
tr_id = 'cat_' + id;
alert(tr_id + ' ' + document.getElementById(tr_id).class);
}
</script>
工作示例: http://jsfiddle.net/rQpeu/
我错过了什么?
更新
我使用了错误的描述符 - 应该使用Classname。感谢大家及时回复!更新了jsfiddle:http://jsfiddle.net/rQpeu/3/
答案 0 :(得分:6)
element.class不正确。
您需要使用元素。 className 。
https://developer.mozilla.org/en-US/docs/DOM/element.className
答案 1 :(得分:1)
使用className
代替class
jsfiddle
<script language='javascript'>
function info(theElement, id)
{
tr_id = 'cat_' + id;
alert(tr_id + ' ' + document.getElementById(tr_id).className);
}
</script>
答案 2 :(得分:1)
使用
document.getElementById(tr_id).className
或支持DOMTokenList
的现代浏览器:
var d = document.getElementById(tr_id).classList
// d[0] would return class_a
答案 3 :(得分:1)
它是类名,而不是类。
alert(tr_id + ' ' + document.getElementById(tr_id).className);
<强> jsFiddle example 强>
请参阅:https://developer.mozilla.org/en-US/docs/DOM/element.className
答案 4 :(得分:1)
使用className
代替class
document.getElementById(tr_id).className