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+的问题。这起作用了,谢谢!它是单独抓取每一个,现在它只是重新应用和随机化的内容为每一个。再次感谢你!