2016-12-24 2 views
-3

Когда вы выбираете элемент jQuery, вы обычно получаете более одного, так что можно добавить их вместе, если вы выберете несколько элементов jQuery?Как добавить элемент jQuery в другой элемент jQuery?

Например:

var foo = $("h1"); 
 
console.log(foo.length); //5 
 
var foo2 = $("h2"); 
 
console.log(foo2.length); //2 
 
foo1.addJQuery(foo2); //Is there are function like this? 
 
console.log(foo1.length); //7 //supposed to log 7, because we added foo2

UPDATE: Люди спрашивают, какова моя цель.

Одним из примеров может быть, если я хотел изменить цвет CSS как это:

var $foo1 = $("h1"); 
 
var $foo2 = $("h2"); 
 

 
$foo1.addJQuery($foo2); 
 

 
//This should be equavelant to do this 
 
var $foo3 = $("h1, h2"); 
 

 
$foo1.css("color", "red"); //Now all h1 and h2 elements will have the the css color red 
 

 
//I would also be able to loop through all h1 and h2 elements as you would expect 
 
for(var i = 0; i < $foo1.length; i++) 
 
    console.log($foo1.eq(i).text());

Я знаю, этот маленький пример, кажется, не столь полезной (Поскольку пример сделана простая, насколько это возможно), но у меня есть специальный случай, когда я хочу добавить их, когда мне нужно.

+0

var $ foo = $ ("h1"); вернет массив элемента h1. в вашем DOM и h1 и h2 - разные элементы. поэтому сначала объясните больше, что вы хотите сделать. – Devansh

+1

, если вы хотите объединить два массива 'var $ foo1 = $ .merge ($ foo, $ foo2);' – Devansh

+0

Каков ваш прецедент и что именно вы пытаетесь выполнить? В вопросе отсутствуют детали. Пожалуйста, просмотрите [Контрольный список вопросов] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist) и [ask] – charlietfl

ответ

1

Решение было найдено:

переменная $ х = $ .merge ($ foo1, $ foo2);

Спасибо, деванш.

+1

Даже я предлагал то же самое .. но, не знал о 'merge' :П –

0

Вы не можете объединить как foo1.addJQuery(foo2); Но, как $("h1"); селектор возвращает массив соответствующих объектов you..can хранить это в Array ..

и раздвинуть результаты $("h2"); в то же array.

Итак, теперь у вас есть массив, содержащий результаты как $("h1");, так и $("h2"); селекторов.

Теперь вы можете объединить столько результатов, сколько хотите.

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