van*_*con 10 jquery object set
是的,我的方式是
A.add(B).add(C).add(D).show()
Run Code Online (Sandbox Code Playgroud)
而A,B,C,D是jQuery对象.我想知道是否有这么简单的方法来做到这一点?我尝试了以下所有方法,但没有结果:
$(A,B,C,D).show()
A.add(B,C,D).show()
Run Code Online (Sandbox Code Playgroud)
欢迎所有建议!
除了澄清问题:
部分".show()"仅用于演示.我只是想知道如何创建一组JQuery对象,如$('p')创建一组p标签.
在我的实际案例中,我使用过
$([A,B,C,D]).each(fn)
Run Code Online (Sandbox Code Playgroud)
而不是.show()(我想知道为什么这有效?)很明显
$([A,B,C,D]).each(fn)
$('p').each(fn)
Run Code Online (Sandbox Code Playgroud)
都工作.但
$([A,B,C,D]).show() //--doesn't work
$('p').show() //--works
Run Code Online (Sandbox Code Playgroud)
只是第二行有效.有谁知道他们之间的差异?(我只是觉得它们是一样的,然后在我的问题中纠结了一点)
amo*_*era 10
$.each([A,B,C,D], function(){
$(this).css('background','red');
})
Run Code Online (Sandbox Code Playgroud)
这个解决方案不使用选择器,而是使用名为$ .each的jQuery方法,该方法接受一个数组并对其进行迭代.传递的数组是一组jQuery对象.$(this)
引用每次迭代的jQuery对象.
演示: http ://jsfiddle.net/SCjMc/1/
$(element)
是一个快捷方式jQuery(element)
.该jQuery()
方法接受一组不同的参数:
可以在此链接中找到每种参数的说明.
其中一种参数是"elementArray".对此的描述是:
elementArray包含要包装在jQuery对象中的一组DOM元素的数组.
问题是当你使用jQuery选择一个元素时,它会直接返回一个jQuery对象而不是一个DOM元素.因此,这不会返回任何元素:
var element1 = $("selector1");
var element2 = $("selector2");
$([element1,element2]) // will not return any elements
Run Code Online (Sandbox Code Playgroud)
要返回DOM元素而不是jQuery对象,您必须0
在jQuery对象的位置访问该属性.如下:$("element")[0]
.这就是为什么这会起作用的原因:
var element1 = $("selector1")[0]; //accessing dom element
var element2 = $("selector2")[0]; //from jQuery object
$([element1,element2])
Run Code Online (Sandbox Code Playgroud)