2015-12-06 3 views
0

я получаю объект JQuery со всеми дочерними элементами, когда я называюКак добавить класс к элементу в объекте jQuery?

var x = $('.myClass')

Я хочу, чтобы добавить класс CSS к x[5] element.How я могу это сделать?

Я пробовал x[5].addClass('newClass'); Но это не сработало.

+0

'$ (х [5]). AddClass ('NewClass')'. .. значения x [n] - это элементы, а не объекты jquery ... вы можете использовать методы DOM ... 'x [5] .classList.add ('newClass')' - хотя classList не поддерживается в IE9 или ранее –

+0

'$ ('elem'). addClass ('newClass');' Является ли 'x' массивом? –

+0

На самом деле вы должны использовать методы jQuery IMO, как в 'x.eq (5) .addClass ('newClass')' и т. Д. – adeneo

ответ

1

Как x коллекция JQuery, вы можете использовать методы как eq(), lt(), gt() и т.д. вместо обозначений квадратных скобок.

Кронштейн обозначение обращается к основной DOM узлов вместо обернутых узлов JQuery вы получаете при использовании собственных методов JQuery, как и этого

x.eq(5).addClass('newClass') 
+0

'x.gt (5) .addClass ('newClass')' didnt Работа. Но 'eq' работал нормально. – sidx

+0

Селектора 'gt' и' lt' означают * "больше, чем" * и * "ниже, чем" *, и где только примеры методов jQuery, которые могут использоваться для ограничения коллекции напрямую. В этом случае, когда вам нужен только один элемент, тот, который находится в индексе '5', вы должны использовать' eq'. – adeneo

+0

Я понял, что gt больше, чем на самом деле, я хотел добавить класс ко всем элементам, индекс которых был больше 5. – sidx

Смежные вопросы