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_Arrays_Html_Jquery Plugins - Fatal编程技术网

Javascript 如何在插件中获取jQuery中的数据属性,并将其转换为数组?

Javascript 如何在插件中获取jQuery中的数据属性,并将其转换为数组?,javascript,jquery,arrays,html,jquery-plugins,Javascript,Jquery,Arrays,Html,Jquery Plugins,我正在尝试获取某些选择标记上的属性,如下所示: $('tagName').swapper(); 每个部分都有类似于data image=“source”的内容,我需要获取其中的每一部分并从中创建一个数组。这里是我遇到的问题,我可以单独获取每一个,但不能一次全部创建数组,下面是我创建数组的代码 var imgArray = []; $this.each(function() { var count = getImgAttr.length;

我正在尝试获取某些选择标记上的属性,如下所示:

$('tagName').swapper();
每个部分都有类似于data image=“source”的内容,我需要获取其中的每一部分并从中创建一个数组。这里是我遇到的问题,我可以单独获取每一个,但不能一次全部创建数组,下面是我创建数组的代码

var imgArray = [];
        $this.each(function() {
            var count = getImgAttr.length;
            imgArray.push([getImgAttr]);
            console.log(imgArray);
            console.log(count);
        });
getImgAttr只是$this.data(“image”)

这会将每个数组作为单个数组返回,而不是作为组合数组返回

我如何连接所有这些组件并防止它们被拆分


谢谢各位。

你们的问题可能来自这里:

var getImgAttr = $this.data("image");
这将获取$this内集合中第一个元素的data AttAttribute值。您应该在迭代图像的区域内执行此操作。此外,您还可以跳过each并转到
.map
来简化代码

$.fn.swapper = function(){
    var imageArr = this.map(function(){
        return $(this).data("image");
    }).get();
    console.log(imgArr);
    return this;
}

为什么要用
[]
包装它?您应该为迭代的每个图像定义getImgAttr,否则它将只查看第一个图像。我如何完全删除它?我将试一试,这是从jQueryAPI站点格式化的,因此我正在尝试找出如何正确地执行此操作。我刚把它取下来,现在它抓住了正确的信息。现在是合并我拥有的3+的问题。这起作用了,谢谢!它是单独抓取每一个,现在它只是重新应用和随机化的内容为每一个。再次感谢你!