Edit
阅读您的更新和评论后,Very简短的一句台词很可能就是答案:
elements.each($.fn.show);
使用 jQ every 方法来应用(好吧,在内部:call
被使用)show
所有元素的方法。
从 jQuery 对象数组创建 jQuery 对象的最简单、最快的方法是:
var objFromArr = $(jQarr);
我刚刚在控制台中测试了这一点:
objFromArr = jQuery([jQuery('#wmd-input'),jQuery('#wmd-button-bar')]);
objFromArr.each(function()
{
console.log(this);//logs a jQ object
console.log(this[0]);//logs the DOMElement
});
但话说回来:你say elements
是 jQ 对象的数组,但如果它是选择器的返回值 ($('.someClass')
)那么实际上,它不是:在这种情况下,你的循环是"broken":
elements = $('.someClass');
for (var i=0;i<elements.length;i++)
{
console.log(elements[i]);//logs a DOMElement, not a jQuery object
}
//It's the same as doing:
console.log(elements[0]);
//or even:
console.log($('.someClass').get(0));
但最后,如果你有一个 jQuery 对象数组,并且你想调用show
方法上each对于他们每一个人,我怀疑这是最好的选择:
elements.each($.fn.show);//use the show method as callback