Объединение объектов jQuery

Возможно ли объединить несколько объектов DOM JQuery в один массив и вызвать методы jQuery для всех из них?

f.ex:

 

two

var btn = $('button'); var h3 = $('h3'); $([btn,h3]).hide();

Это не работает. Я знаю, что я могу использовать селектор «button, h3» здесь, но в некоторых случаях у меня уже есть несколько элементов DOM jQuery, и мне нужно объединить их, чтобы я мог вызывать прототипы jQuery для всех из них.

что-то вроде:

 $.merge([btn,h3]).hide(); 

должно сработать. Есть идеи?

ОБНОВИТЬ:

Решил. Вы можете сделать это следующим образом:

 $.fn.add.call(btn,h3); 

Я собираюсь принять предложение add() чтобы указать мне в правильном направлении.

7 Solutions collect form web for “Объединение объектов jQuery”

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

.add() делает именно то, что вам нужно.

 h3.add(btn).hide(); 

Если вы хотите сделать это немного более удобным для себя, с функцией «слияния», как в вашем вопросе, это можно легко добавить:

 $.merge = function(objs) { var ret = objs.shift(); while (objs.length) { ret.add(objs.shift()); } return ret; }; $.merge([h3, btn]).hide() 

$.map может сгладить массивы:

 function merge(array_of_jquery_objects) { return $($.map(array_of_jquery_objects, function(el) { return el.get(); })); } 
 $(btn).add(h3).hide(); 

Не уверен, что он работает, но документация для добавления не упоминает хайв-объект jQuery как параметр, а только список элементов, поэтому, если это не работает, это должно:

 $(btn).add(h3.get()).hide(); 

Получить некоторые объекты jQuery:

 var x = $('script'), y = $('b'), z = $('body'); 

Создайте новый объект jQuery, содержащий все остальные объекты:

 $( $.map([x,y,z], a => [...a]) ) 

Используйте это.

  
  
  • jQuery: пожарный щелчок () перед размытием ()
  • Два запроса $ .post один за другим. Второй запрос $ .post не выполняется.
  • Как проверить, выбрана ли опция?
  • jQuery .on не работает, но .live делает
  • jquery UI Сортировка с таблицей и шириной
  • Почему я получаю запрос OPTIONS вместо запроса GET?
  • Как отображать загружаемое изображение при загрузке фактического изображения
  • В чем разница между методами bind и live в jQuery?
  • Ошибка jquery 3.0 url.indexOf
  • Разница между .success () и .complete ()?
  • Идентификаторы jquery с пробелами
  • Давайте будем гением компьютера.