JQuery: ближайший / родитель не работает

0

У меня есть базовая таблица HTML с кнопкой в каждой строке. Нажав на кнопку, я хочу предупредить текст со второго TD в том же TR.

По какой-то причине нижеследующее не работает и либо ничего не возвращает, либо null (в зависимости от того, пытаюсь ли я использовать.text() или.html()). родитель, а не ближайший. Может ли кто-нибудь сказать мне, что я делаю неправильно здесь? (Моя таблица имеет идентификатор "myTable", и все TR находятся в TBODY, если это необходимо.)

Пример TR:

<tr><td style="width:30%"><strong>Row 1:</strong></td><td id="fldRow1" style="width:60%">test text</td><td><button type="button" id="copyRow1" onclick="copyOutput()">Copy</button></td></tr>

Функция JS:

function copyOutput() {
    var output = $(this).closest('tr').find('td:eq(1)').text();
    alert(output);
}

Большое спасибо за любую помощь в этом, Тим.

  • 1
    Поскольку вы используете jQuery, почему вы используете встроенные события?
  • 0
    Благодарю. Могу ли я достичь этого, используя только JavaScript? Мне нужны встроенные события в этом случае.
Показать ещё 1 комментарий
Теги:
css-selectors
parent
closest

1 ответ

2
Лучший ответ

this в вас код не относится к текущему элементу, который относится к объекту окна.

HTML

+ Изменить

onclick="copyOutput()"

в

onclick="copyOutput(this)" //pass refer of the current element


JS
function copyOutput(el) { //el get current element clicked
    var output = $(el).closest('tr').find('td:eq(1)').text();
    alert(output);
}
  • 1
    Отлично - это работает! Спасибо за быструю помощь. Приму, как только смогу.
  • 0
    @ user2571510 Рад, что помог.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню