Не удается получить значение элемента таблицы при клике на соседнюю ячейку
Не удается получить значение элемента таблицы при клике на соседнюю ячейку.
Таблица выведена на страницу через ajax запрос к серверу. К ячейке привязана функция на клик: <td id="td_name" onclick="click_td_name()">ООО "Вега"</td> Функция: function click_td_name() { var id = this.parent().children().filter('#td_id').val(); alert(id); }; Ошибка: this.parent is not a function Вижу что объект Window, но я вызвал из td. Как правильно обратиться к объекту чтобы получить td, ну а потом через родителя выйти на другую ячейку? |
yakim,
$(this) |
yakim,
<table>
<tr>
<td id="td_name" onclick="click_td_name(this);">ООО "Вега"</td>
<td style="display:none">Some Value in next cell</td>
</tr>
</table>
<script>
function click_td_name(elem) {
var id = elem.id;
alert(id);
var valnext = elem.nextElementSibling.innerText;
alert(valnext);
};
</script>
|
спс, работает
, работает, но не понятно почему нельзя обратиться на прямую
|
Цитата:
Вы же сами хотите - значение элемента таблицы при клике на соседнюю ячейку var valnext = elem.nextElementSibling.innerText; - это очень криво? |
Аналогичное решение на jQuery
<!DOCTYPE html >
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(window).ready(function () {
$('#td_name').on('click', function () {
alert($(this).next().text());
});
});
</script>
</head>
<body>
<table>
<tr>
<td id="td_name" >ООО "Вега"</td>
<td style="display:none">Some Value in next cell</td>
</tr>
</table>
</body>
</html>
|
| Часовой пояс GMT +3, время: 03:15. |