#jquery
#jquery
Вопрос:
Я пытаюсь получить значения td из tr .. но, к сожалению, это не работает.. может быть, что-то не так
Мой html выглядит следующим образом
<tr class="dname">
<td>abc</td>
<td>value here</td>
</tr>
Мой код jquery
jQuery(".dname").find("tr td:eq(1)").val();
Что в этом плохого?
Ответ №1:
find()
Метод jQuery возвращает потомков выбранного элемента. Вы уже выбираете <tr>
с помощью класса dname
, а затем пытаетесь найти потомка, который также является <tr>
.
Должно сработать следующее:
jQuery(".dname").find("td:eq(1)").text();
Редактировать: text()
вместо val()
, как указал @freedomn-m
Комментарии:
1. уверен, что это .val()?
Ответ №2:
Замените n на дочерний номер.
$(".dname td:nth-child(n)").text();
Например, для 2-го дочернего элемента
$(".dname td:nth-child(2)").text();
Ответ №3:
Вы уже выполняете фильтрацию tr
по имени его класса, поэтому нет необходимости снова искать по tr
.
jQuery(".dname").find("td:eq(1)").text()
Кроме того, вам нужно .text()
получить содержимое <td>
not .val()
.
JSBin здесь.
Надеюсь, это поможет 🙂
Ответ №4:
Поскольку это <td>
последний ваш дочерний элемент <tr>
, вы можете получить к нему доступ, как показано ниже,
jQuery(".dname > td:last-child").text();
Ответ №5:
Просто хотел указать, что если вы хотите вставить какое-то конкретное значение в ячейку, то выполните следующее (например, если вам нужно отобразить текстовый ТЕСТ в ячейке таблицы):
$(«.имя td:n-й дочерний элемент(n)»).text(«ТЕСТ»);