当你选择一个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());
我知道这个小例子似乎没那么有用(因为这个例子尽可能简单),但我有一个特殊情况,我想在需要的时候添加它们。
答案 0 :(得分:1)
找到解决方案:
var $ x = $ .merge($ foo1,$ foo2);
谢谢你devansh。
答案 1 :(得分:0)
您无法合并foo1.addJQuery(foo2);
但是,当$("h1");
选择器返回匹配对象的数组时,您可以将其存储在Array
..
并将$("h2");
的结果推送到同一array
。
所以,现在你有一个包含$("h1");
和$("h2");
选择器结果的数组。
您现在可以根据需要合并任意数量的结果。