Не удается получить значение элемента таблицы при клике на соседнюю ячейку
Не удается получить значение элемента таблицы при клике на соседнюю ячейку.
Таблица выведена на страницу через 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, время: 13:05. |