Попытка получить имя класса из тега 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 ответов:
Элемент.класс неверен.
Вам нужно использовать элемент.имя класса .
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);
См.: https://developer.mozilla.org/en-US/docs/DOM/element.className