2016-12-24 147 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)和[问] – charlietfl

回答

1

,可知该溶液:

变量$ X = $ .merge($ foo1,foo2的$);

谢谢devansh。

+1

即使我建议相同..但是,并没有意识到“合并” :P –

0

不能合并像foo1.addJQuery(foo2); 但是,正如$("h1");选择是在Array返回匹配物体you..can存储这个数组..

$("h2");结果推到同一array

所以,现在你有一个数组包含$("h1");$("h2");选择器的结果。

您现在可以根据需要合并尽可能多的结果。

相关问题