Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выделить несколько элементов (https://javascript.ru/forum/jquery/17513-vydelit-neskolko-ehlementov.html)

Nightmare 22.05.2011 15:10

Выделить несколько элементов
 
нужно так:
$('div').eq(0, 4, 5, 8, 100)


можно ли так?

Amphiluke 22.05.2011 15:19

Не. В данном случае можно просто отфильтровать начальную выборку по индексам при помощи методов .filter() и .index()

Serg_pnz 22.05.2011 15:25

http://jquery.page2page.ru/index.php...%D1%82%D0% B8

Amphiluke 22.05.2011 15:35

Serg_pnz, это не то. Метод slice выбирает из непрерывного диапазона индексов. У ТС пример для произвольного набора индексов, не принадлежащих непрерывному диапазону.
Вот пример реализации.
var q = $('div').filter(function() { return ($.inArray($(this).index('div'), [0, 4, 5, 8, 100]) != -1); });
q.each(function() { alert($(this).index('div')); });



---

Upd
Кстати, есть еще один простой способ решения, который я поначалу упустил. Метод .pushStack().
var q = $("div");
q = $([]).pushStack([q.eq(0), q.eq(4), q.eq(5), q.eq(8), q.eq(100)]);
q.each(function() { alert($(this).index("div")); });

Serg_pnz 22.05.2011 18:22

Amphiluke, да, не обратил внимание...
За примеры отдельное спасибо!


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