Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2010, 14:38
Новичок на форуме
Отправить личное сообщение для Roboteck Посмотреть профиль Найти все сообщения от Roboteck
 
Регистрация: 24.05.2010
Сообщений: 7

Момогите с селекторами
есть 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 много всяких элементов.

Помогите, пожалуйста, уже пол дня парюсь над такой ерундой.
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2010, 14:53
Новичок на форуме
Отправить личное сообщение для Roboteck Посмотреть профиль Найти все сообщения от Roboteck
 
Регистрация: 24.05.2010
Сообщений: 7

И в каждом .blok может быть любое количество других вложенных .blok, нужен селектор, с помощью которого можно будет выбрать только те .select, которые относятся именно к этому .blok, по русски селектор должен выглядеть примерно так:

$(".blok").each(function ()
{
    var _selects=$(this).find(".select которые не во вложенных .blok");
});
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2010, 15:37
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Попробуй так:
$(".blok").each(function  ()
{
    var myblock = this; 
    var _selects=$(this).find(".select").filter(function(i){
      var parblock = $(this).closest('.blok')[0]; // ближайший родитель .blok
      return (myblock == parblock)
    });
});
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2010, 15:47
Новичок на форуме
Отправить личное сообщение для Roboteck Посмотреть профиль Найти все сообщения от Roboteck
 
Регистрация: 24.05.2010
Сообщений: 7

идею понял, грамотно)
конечно хочется обойтись только селекторами, но если с помощью них не получится, но это очень хороший вариант, спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с селекторами, одни работают - другие нет Deee_Miles jQuery 4 19.12.2008 23:29