2016-12-01 2 views
1

, если у нас есть что-то вроде этого:JQuery на нескольких объектах

var foo=$('.foo'); 
var boo=$('.boo'); 
var koo=$('.koo'); 

Тогда есть ли возможность поставить foo, boo и koo в одном JQuery объекта с $ функции?

Я попробовал эти:

$(foo,koo,boo).removeClass('someClass'); // nothing happened 
$([foo,koo,boo]).removeClass('someClass'); // nothing happened 

Но ничего не случилось.

PS. Я знаю, что могу использовать прямой селектор с $('.foo,.boo,.koo'), но это не то, что я ищу

ответ

1

Если у вас уже есть несколько объектов, JQuery, вы можете использовать $.add():

var combo = foo.add(koo).add(boo) 
combo.removeClass('someClass') 
+0

Это то, что они ищут! – Omid

3

Вы можете выбрать несколько элементов следующим образом:

$(".foo, .boo, .koo").removeClass('someClass'); 

Это называется множественным селектор, как описано на https://api.jquery.com/multiple-selector/

Если вы хотите сохранить их в переменной, вы должны использовать метод add как таковой

var elements = $(".foo").add(".koo").add(".boo"); 

Престола: http://api.jquery.com/add/

+2

Почему downvotes? – Santi

+0

Отредактируйте свой ответ и подождите, Чтобы они могли удалить голосование, если они захотят .. –

+0

Я отредактировал мой вопрос – Omid

1

Вы можете непосредственно добавить несколько селекторов с запятыми, как показано ниже

$('.foo,.koo,.boo').removeClass('someClass'); 

Edit 1: После редактирования в вопросе, если вы хотите сделать это на уровне объекта попробуйте ниже.

$.each([foo,koo,boo],function(i,v){ 
    v.removeClass('someClass'); 
    }); 
+0

Это хорошая идея, но я думаю, что это лучше: http://stackoverflow.com/a/40900806/836979 – Omid

+0

oh nice !!! Я не знал о 'add' функции –

+0

мне тоже! WOW JQuery думал обо всем! – Omid

0

Вы можете смешивать и сочетать селекторы как следующие:

$('#someId, .foo, .boo').removeClass('someClass'); 
Смежные вопросы