2

我需要从给定的<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/

4

5 回答 5

7

element.class 不正确。

你需要使用元素。类名

https://developer.mozilla.org/en-US/docs/DOM/element.className

于 2012-10-24T17:17:16.973 回答
1

使用className而不是class jsfiddle

 <script language='javascript'>
  function info(theElement, id)
     {
         tr_id = 'cat_' + id;
         alert(tr_id + ' ' + document.getElementById(tr_id).className);
     }
 </script>
于 2012-10-24T17:16:26.287 回答
1

利用

document.getElementById(tr_id).className

或者对于支持的现代浏览器DOMTokenList

var d = document.getElementById(tr_id).classList
// d[0] would return class_a
于 2012-10-24T17:16:35.460 回答
1

是类名,不是类。

alert(tr_id + ' ' + document.getElementById(tr_id).className);

jsFiddle 示例

请参阅:https ://developer.mozilla.org/en-US/docs/DOM/element.className

于 2012-10-24T17:16:39.093 回答
1

使用className代替class

document.getElementById(tr_id).className
于 2012-10-24T17:24:09.897 回答