Момогите с селекторами
есть 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, время: 08:38. |