JQuery - доступ к вложенным дочерним элементам

Предположим, что у меня есть следующий HTML -

<DIV id="ParentDiv">
    <DIV id="SubDiv1"></DIV>
    <DIV id="SubDiv2">
        <INPUT id="input">
    </DIV>
</DIV>

Чтобы получить доступ к элементу ввода с помощью jquery, это будет просто $( "# input" ). То, что я пытаюсь сделать, это получить доступ к нему, предполагая, что я знаю только идентификатор div верхнего уровня.

В настоящее время у меня

$($($("#ParentDiv").children()[1]).children()[0])

Кажется, что работает. Есть ли более чистый способ написать это, или как я делаю это нормально?

Ответы

Ответ 1

Вы просто выполняете .find() неявно или явно:

$('#ParentDiv input');  // implicitly

$('#ParentDiv').find('input'); // explicitly

Ссылка: .find()

Ответ 2

Вы можете попробовать:

1. $('#ParentDiv input')
2. $('input', '#ParentDiv')
3. $('#ParentDiv').find('input')

Ответ 3

если вам нужно найти вход из SubDiv2 только при наличии родительской информации, которую вы можете использовать

$("#ParentDiv div:eq(1) input")

или

$("#ParentDiv div:eq(1)").find("input")

Где eq (1) доставит вам второй div внутри ParentDiv

Ответ 4

Попробуйте следующее:

 $('#ParentDiv').find('input');

Ответ 5

Много способов сделать это. Вот один

$("#ParentDiv > div:eq(1) > input")

Ответ 6

как насчет

$("#ParentDiv :input")

Ответ 7

попробуйте это

jQuery('#input').val();