Выбор элемента после использования children ()

0

Мой селектор jQuery('.pa_availability-pin table tbody tr').children('td').eq(1); возвращает объект <td> теперь я хочу выбрать элемент <input> который находится внутри этого выбранного <td>

Как это сделать в одном заявлении?

Теги:
jquery-selectors

2 ответа

2
Лучший ответ
jQuery('.pa_availability-pin table tbody tr > td:eq(1) > input');

Однако мы можем немного оптимизировать это. table tbody tr td является избыточным, поскольку каждый из этих элементов должен содержаться в другом. Вы можете смело уменьшить это до просто td:

jQuery('.pa_availability-pin td:eq(1) > input'); // zero-based

Где > указывает прямой ребенок, который, как вам кажется, вам нужен.

Кроме того :eq не является селектором CSS, поэтому для оптимизации использования селектора :nth-child вместо этого:

jQuery('.pa_availability-pin td:nth-child(2) > input'); // not zero-based

Если на вашем input (например, на этикетке) есть другой элемент, просто удалите > из селектора.

  • 0
    Спасибо, что поделились этим!
2

Просто соедините все это с одним селектором:

jQuery('.pa_availability-pin table tbody tr td:eq(1) input');

Или используйте .find()

jQuery('.pa_availability-pin table tbody tr').children('td').eq(1).find('input');
  • 0
    Спасибо за первый подход, т. jQuery('.pa_availability-pin table tbody tr td:eq(1) input');

Ещё вопросы

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