Момогите с селекторами
есть html:
<div class="blok"> ...<div class="select">Выбрать этот</div>... ...<div class="select">Выбрать этот</div>... ...<div class="select">Выбрать этот</div>... <div class="blok"> ...<div class="select">Выбрать этот</div>... ...<div class="select">Выбрать этот</div>... ...<div class="select">Выбрать этот</div>... </div> </div> т.е. в каждом .blok есть группа .select Мне надо выбрать все .select, которые находятся в .blok, кроме тех, которые находятся в другом .blok, чтобы когда я пишу $(".blok").each(function () { var _selects=$(this).find(".select"); }); у меня 2 раза получалась группа _selects, в которых будет по 3 своих .select, а у меня получается что в первой группе 3 своих и 3 чужих .select'а, в документации нашел только способ, когда можно использовать .children(".select"), тогда выбрались бы именно те, но .select не являются прямыми дочерними элементами между .blok и .select много всяких элементов. Помогите, пожалуйста, уже пол дня парюсь над такой ерундой. |
И в каждом .blok может быть любое количество других вложенных .blok, нужен селектор, с помощью которого можно будет выбрать только те .select, которые относятся именно к этому .blok, по русски селектор должен выглядеть примерно так:
$(".blok").each(function () { var _selects=$(this).find(".select которые не во вложенных .blok"); }); |
Попробуй так:
$(".blok").each(function () { var myblock = this; var _selects=$(this).find(".select").filter(function(i){ var parblock = $(this).closest('.blok')[0]; // ближайший родитель .blok return (myblock == parblock) }); }); |
идею понял, грамотно)
конечно хочется обойтись только селекторами, но если с помощью них не получится, но это очень хороший вариант, спасибо) |
Часовой пояс GMT +3, время: 23:04. |