Подтвердить что ты не робот

Селектор jquery

Как я могу захватить вложенный элемент "4"?

Я пробовал:

var nights = $("div.nights h5 div.num").val();

и

var nights = $("div.nights > h5 > div.num").val();

Пример:

<div class="nights">
        <h5 class="biguns">
            <div class="num">4</div>
            Nights
        </h5>
</div>
4b9b3361

Ответ 1

Используйте .text() здесь, например:

$("div.nights h5 div.num").text()
//or this works too:
$("div.nights > h5 > div.num").text()
//or just
$("div.num").text();

Вы можете протестировать его здесь, как вы можете видеть выше, ваш селектор является гибким, используйте то, что работает с вашей общей разметкой. .val() для элементов типа ввода, например. <input>, <select>, <textarea>, <button>... чтобы получить текст внутри любого другого элемента, используйте .text() вместо этого.

Ответ 2

$("div.nights  div").text()

но не

$("div.nights  > div").text()  

потому что селектор потомков: Потомком элемента может быть ребенок, внук, правнук и т.д. Этого элемента. детский селектор:  Выбирает все прямые дочерние элементы, указанные "дочерним" элементом, указанным "parent".

ссылка дочерний селектор селектор потомков