Помогите сократить код 
		
		
		
		Доброго времени. Оптимизируя код, при кэшировании столкнулся с такой проблемой - не знаю, как навесить событие на несколько элементов.. 
	Вот старый вариант: 
$('#first, #second').on('click' ....);
Вот хочу теперь так: 
var first = $('#first');
var second = $('#second');
// так не работает
$(first,second).on(...);
// и вот так тоже хочу, но не работает.
$(first, second, '.any_class').on(...);
Помогите с синтаксисом плиз, друзья!  | 
	
		
 $(first,second) — это два аргумента. А нужен один. 
	Селектор — это одна строка. Если обязательно айдишники выносить в переменные, то так: $(first+","+second)  | 
	
		
 нет, $(first+","+second)  не работает..  
	$('#first, #second') - но так то можно ведь.  | 
	
		
 А возможности присвоить всем элементам один класс нет? 
	А потом выбирать 
$('.yourclass')
 | 
	
		
 нет, это уже совсем другая тема. И сейчас разговор о скорости скрипта. Если я сделаю два элемента в разных концах страницы с одним классом, машина дольше будет искать, чем два элемента со строго прописанными путями. 
	 | 
	
		
 
first.add(second).on("событие", "и так далее")
 | 
	
		
 
elem = $('#elem');
$(elem, '.any_class').on(...);
А такое как бы записать? Сегодня только столкнулся, сделал через детей.  | 
	
		
 Цитата: 
	
 
$(elem).add('.any_class').on(...);
 | 
	
		
 melky  и walik - спасибо, интересное решение и работает. Ловите плюсы! 
	 | 
	
		
 Цитата: 
	
 Ваш вариант сработал бы, если в переменных сохранять строки-селекторы, например, var first = '#first'; var second = '#second'; И еще, в функцию $() никто не обязывает передавать 1 аргумент, их может быть 2. Вторым аргументом можно передать контекст селектора. Подробнее тут  | 
| Часовой пояс GMT +3, время: 12:44. |