Попытка получить имя класса из тега tr - 'undefined'


Мне нужно получить имя класса из данного тега <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/

5 2

5 ответов:

Элемент.класс неверен.

Вам нужно использовать элемент.имя класса .

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

Используйте className вместо class jsfiddle

 <script language='javascript'>
  function info(theElement, id)
     {
         tr_id = 'cat_' + id;
         alert(tr_id + ' ' + document.getElementById(tr_id).className);
     }
 </script>

Использовать

document.getElementById(tr_id).className

Или для современных браузеров, которые поддерживают DOMTokenList:

var d = document.getElementById(tr_id).classList
// d[0] would return class_a

Это имя класса, а не класс.

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

Пример JsFiddle

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

Используйте className вместо class

document.getElementById(tr_id).className