Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理返回一组元素的jQuery函数的返回值_Javascript_Jquery - Fatal编程技术网

Javascript 如何处理返回一组元素的jQuery函数的返回值

Javascript 如何处理返回一组元素的jQuery函数的返回值,javascript,jquery,Javascript,Jquery,如何处理将返回一组DOM元素的jQuery函数的返回值。例如,我正在使用.nextAll()函数,它返回一组元素,是吗?我可以将返回值存储在JS数组中吗?我迟早要遍历这些元素。我知道jQuery.each()函数可以帮助我解决这个问题。然而,对于培训和理解问题,我首先要一步一步地做 我很确定,这个基本问题在某个地方得到了回答,但我一直在寻找答案,却没有发现任何对我有用的东西。也许我没有找到合适的词。因此,请友好。您可以将其分配给一个变量: var $els = $(selector).next

如何处理将返回一组DOM元素的jQuery函数的返回值。例如,我正在使用
.nextAll()
函数,它返回一组元素,是吗?我可以将返回值存储在JS数组中吗?我迟早要遍历这些元素。我知道jQuery
.each()
函数可以帮助我解决这个问题。然而,对于培训和理解问题,我首先要一步一步地做


我很确定,这个基本问题在某个地方得到了回答,但我一直在寻找答案,却没有发现任何对我有用的东西。也许我没有找到合适的词。因此,请友好。

您可以将其分配给一个变量:

var $els =  $(selector).nextAll();
这样,
$els
将成为元素的jQuery包装器(类似数组的对象)

若您想要有一个元素数组,可以使用

var arr = [].slice.call($els);

正如
.nextall()
的文档所述,它返回

jQuery对象包含文档对象模型(DOM)的集合 从HTML字符串创建或从 文件。因为jQuery方法经常使用CSS选择器来匹配 元素,jQuery对象中的元素集为 通常称为一组“匹配元素”或“选定元素”

jQuery对象本身的行为非常类似于数组;它有一个长度 属性和对象中的元素可以通过其 数值索引[0]到[length-1]。请注意,jQuery对象不是 实际上是一个Javascript数组对象,因此它没有所有 真数组对象的方法,如join()


jQuery
函数通常返回一组DOM元素,它伪装成一个数组

如果您运行以下操作:

 $('p').css('background-color', 'red');
jQuery
将构建所有
p
元素的数组,然后将
css()
函数应用于每个元素

如果需要单个DOM项,请使用带有索引的
get

  $( "li" ).get( 0 )
因此,
.nextAll()
通常也会返回许多元素,因此它的行为与
jQuery
通常的行为类似

each()
是一个在数组上运行的方便而漂亮的函数,因此它在
jQuery
对象上运行正常:

$('li + li').nextAll().each(function(i){
     //glorious code
});
您也可以这样做:

var nexts = $('li + li').nextAll();
$.each(nexts, function(i){
     //Glorious code!!
});

希望这能让事情更清楚

我可以把它分配给一个JS变量吗?那是一个JS变量。。。你是什么意思?我一直认为,使用$-符号,我声明了一个jQuery对象。也许我必须再次修改基础知识。@user3005306
$
是一个创建jQuery对象的函数。但是您可以在名称的开头使用
$
创建变量。我将其用于包含jQuery对象的变量,以避免与
HTMLCollection
对象混淆。任何jQuery集合都可以像
var collection=$(元素).nextAll()一样简单地返回到变量。每个
都是jQuery原型上的一个方法-
$.fn
,这意味着您可以执行
nexts.each(函数(i,el){…}