Ответ 1
Вы просто выполняете .find()
неявно или явно:
$('#ParentDiv input'); // implicitly
$('#ParentDiv').find('input'); // explicitly
Ссылка: .find()
Предположим, что у меня есть следующий HTML -
<DIV id="ParentDiv">
<DIV id="SubDiv1"></DIV>
<DIV id="SubDiv2">
<INPUT id="input">
</DIV>
</DIV>
Чтобы получить доступ к элементу ввода с помощью jquery, это будет просто $( "# input" ). То, что я пытаюсь сделать, это получить доступ к нему, предполагая, что я знаю только идентификатор div верхнего уровня.
В настоящее время у меня
$($($("#ParentDiv").children()[1]).children()[0])
Кажется, что работает. Есть ли более чистый способ написать это, или как я делаю это нормально?
Вы просто выполняете .find()
неявно или явно:
$('#ParentDiv input'); // implicitly
$('#ParentDiv').find('input'); // explicitly
Ссылка: .find()
Вы можете попробовать:
1. $('#ParentDiv input')
2. $('input', '#ParentDiv')
3. $('#ParentDiv').find('input')
если вам нужно найти вход из SubDiv2
только при наличии родительской информации, которую вы можете использовать
$("#ParentDiv div:eq(1) input")
или
$("#ParentDiv div:eq(1)").find("input")
Где eq (1) доставит вам второй div внутри ParentDiv
Попробуйте следующее:
$('#ParentDiv').find('input');
Много способов сделать это. Вот один
$("#ParentDiv > div:eq(1) > input")
как насчет
$("#ParentDiv :input")
попробуйте это
jQuery('#input').val();