Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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_Arrays_Selector - Fatal编程技术网

Javascript 将jquery选择器转换为数组

Javascript 将jquery选择器转换为数组,javascript,jquery,arrays,selector,Javascript,Jquery,Arrays,Selector,我需要能够在当前视口中存储当前选择器,然后10秒钟检查它们是否仍在用户当前视口中 我的解决方案是将选择器存储在一个数组中,然后在10秒内将旧选择器与新选择器进行比较,看看是否有匹配的选择器。如果他们这样做了。。。做点什么 所以我相信使用.each和构建阵列,除非有人有更优雅的解决方案 $('.gridContainers:in-viewport') 这将返回一个标准选择器 调用$(选择器)返回一个类似jQuery对象的数组,而不是实际的JavaScript数组,尽管出于他们尝试执行的目的,可能

我需要能够在当前视口中存储当前选择器,然后10秒钟检查它们是否仍在用户当前视口中

我的解决方案是将选择器存储在一个数组中,然后在10秒内将旧选择器与新选择器进行比较,看看是否有匹配的选择器。如果他们这样做了。。。做点什么

所以我相信使用.each和构建阵列,除非有人有更优雅的解决方案

$('.gridContainers:in-viewport')
这将返回一个标准选择器

调用$(选择器)返回一个类似jQuery对象的数组,而不是实际的JavaScript数组,尽管出于他们尝试执行的目的,可能不需要将其转换为实际数组

这就是如何将选择器转换为本机Javascript数组

$(selector).toArray()

尝试以下查找方法:

$('element').find('selection');

这将把所有选定的元素都赋给数组。希望这对ES6有帮助:

Array.from($(selector)); // return JS array 

我不明白。你能更详细地阐述一下吗?你必须发布一些标记和一些javascript,这样我们才能了解你在做什么。如果我理解你的问题,他们可能是处理这种情况的更好方法,但是你处理的方式听起来不错。没有代码示例就无法确定。如果您正在使用的代码,$(选择器)总是返回数组,请给出一些示例。
.find()
返回一个jQuery对象,而不是数组。这不会有帮助,因为它只会从当前选择器中查找一个元素。是,但它可以帮助人们认识到,对于他们试图使用阵列实现的目标,还有另一个更简单的解决方案。所以我的+1。没有必要调用.toArray(),因为$(选择器)已经返回了一个数组。不过,使用toArray确实会将其转换为trun js数组。
.get()
(不要与
jQuery.get()
这是一个AJAX get请求相混淆)如果不提供参数,也会执行相同的操作。但是,不确定是否应该使用任何指导。@BishopZ调用
$(选择器)
返回类似于jQuery对象的数组,而不是实际的JavaScript数组,尽管出于他们尝试执行的目的,将其转换为实际数组可能是不必要的。注意,这是给DOM对象数组,不是jQuery对象的数组