Получаем второй td из tr с помощью jquery

#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> .

https://api.jquery.com/find/

Должно сработать следующее:

 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(«ТЕСТ»);