Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помощь с выборкой (https://javascript.ru/forum/jquery/9190-pomoshh-s-vyborkojj.html)

kvendi 04.05.2010 11:11

Помощь с выборкой
 
Здравствуйте, помогите пожалуйста составить такую выборку:
нужны все элементы, перед которыми на одном уровне DOM модели есть элемент ,который содержит в себе элемент с классом class1
Пример:
<label>ssss<span class="class1">ssss</span></label><input id="q1" type="text">ssss</input>
<label>ssss</label><input id="q2" type="text">ssss</input>

Собственно нужно выбрать только q1

exec 04.05.2010 13:03

Цитата:

Собственно нужно выбрать только q1
.class1 на уровень ниже.

Тогда как понимать

Цитата:

на одном уровне
?

И зачем здесь

Цитата:

ssss</input>
Текст всё равно будет вставляться после поля, а закрывающий тег input'-а не нужен вообще.

kvendi 04.05.2010 13:07

Пока получилось только так:
$("label > span.class1").each(function(){$(this).parent("label").nextAll("input")})

kvendi 04.05.2010 13:09

Цитата:

Сообщение от exec (Сообщение 54061)
.class1 на уровень ниже.

Тогда как понимать



?

И зачем здесь



Текст всё равно будет вставляться после поля, а закрывающий тег input'-а не нужен вообще.

Перечитайте вопрос =)
нужны все элементы, перед которыми на одном уровне DOM модели есть элемент ,который содержит в себе элемент с классом class1
а насчет ssss - просто для примера написал, не обращайте внимания)

exec 04.05.2010 13:18

$('label:has("span.class1") + input')

kvendi 04.05.2010 13:46

Цитата:

Сообщение от exec (Сообщение 54065)
$('label:has("span.class1") + input')

Спасибо, только я подправил для себя так:
$('label:has("span.class1") ~ input')

, так как не факт что input окажется следующим элементом


Часовой пояс GMT +3, время: 03:24.