Найти родительский класс и идентификатор
-
03-10-2019 - |
Вопрос
Ну, после бесчисленных попыток я не могу получить эту работу?
<script type="text/javascript">
$("td input").focusout(function() {
var column = $(this).parent('td').attr('class');
var row = $(this).parent('tr').attr('id');
$('#dat').HTML(row+" "+column);
});
</script>
И HTML выглядит так:
<tr class="numbers" id="1">
<td class="a" align="right">1</td>
<td class="b"><input class="input" type="text" value=""/></td>
<td class="c"><input class="input" type="text" value=""/></td>
<td class="d"><input class="input" type="text" value=""/></td>
<td class="e"><input class="input" type="text" value=""/></td>
<td class="f">0</td>
<td class="g"><input class="input" type="text" value=""/></td>
</tr>
Кто-нибудь может указать мне правильное направление на то, что может быть не так?
Решение
Обратите внимание, что это должно быть строчным
$('#dat').HTML(row+" "+column);
.html
а также
$(this).parent('tr')
NULL, вход не может иметь родитель
в качестве альтернативы это вы можете использовать
Другие советы
Пытаться:
$(this).closest('td').attr('class')
в соответствующем месте в вашем коде. То же самое для удостоверения личности.
Ваш код выглядит прямо по большей части, просто исправьте эти вещи:
$('#dat').HTML(row+' ' +column);
К этому:
$('#dat').html(row + ' ' + column);
И это:
$(this).parent('tr').attr('id');
К этому:
$(this).parents('tr').attr('id');
Вы хотите использовать .parents()
функция, а не .parent()
.
Причина из документации, моя подсветка.
Учитывая объект jQuery, который представляет собой набор элементов DOM, метод .parent () позволяет нам обыскивать родителей этих элементов в дереве DOM и построить новый объект jQuery из соответствующих элементов. Методы .parents () и .parent () аналогичны, за исключением того, что последний путешествует только один уровень вверх по дереву DOM.