如何将jQuery元素添加到另一个jQuery元素?

时间:2016-12-24 02:19:07

标签: javascript 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

更新: 人们问我的目的是什么。

一个例子可能是如果我想改变这样的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());

我知道这个小例子似乎没那么有用(因为这个例子尽可能简单),但我有一个特殊情况,我想在需要的时候添加它们。

2 个答案:

答案 0 :(得分:1)

找到解决方案:

var $ x = $ .merge($ foo1,$ foo2);

谢谢你devansh。

答案 1 :(得分:0)

您无法合并foo1.addJQuery(foo2); 但是,当$("h1");选择器返回匹配对象的数组时,您可以将其存储在Array ..

并将$("h2");的结果推送到同一array

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

您现在可以根据需要合并任意数量的结果。