Есть много разных способов сделать это - каждый с разными компромиссами. Вы можете использовать эти селекторы:
"#partDiv input:first"
"#descriptiondiv input:first"
"#positiondiv input"
Или эти:
"#partDiv input:eq(0)"
"#partDiv input:eq(1)"
"#partDiv input:eq(2)"
Или эти:
"#partDiv > .floater > input"
"#descriptiondiv > .floater > input"
"#positiondiv > .floater > input"
Обратите внимание, что "правильный" способ сделать это - присвоить каждому входу свой собственный идентификатор или поместить его в контейнер с идентификатором (без других входных тегов в том же контейнере). Поскольку ни один из них не является истинным, вы должны использовать информацию о положении или иерархии, чтобы определить, какой вход есть какой.
Какой из этих различных методов использовать, зависит от того, насколько тесными или рыхлыми вам нужны отношения между вашей точной структурой HTML и вашими селекторами (например, работает ли селектор с некоторыми типами изменений в HTML или нет).
Преимущество первого варианта в том, что ему не важно, сколько уровней / слоев разметки существует между div и входом, только то, что вы выбираете первый входной элемент в каждом div. Тогда как третий вариант связывает селектор с очень специфической реализацией HTML, и если вы поместите один дополнительный div между partDiv и вводом, он перестанет работать. Первый не переставал бы работать, если бы вы сделали это, поэтому первое и второе гораздо менее хрупки, чем третье.
Преимущество второго варианта в том, что он полностью независим от разметки внутри partDiv. Единственное, что его волнует, это первое, второе и третье поля ввода в этом div.
Основным преимуществом третьего варианта является то, что вы можете изменить порядок трех полей ввода, и селекторы будут работать, пока вы сохраняете уникальность иерархии, указанной в селекторе.