Javascript jQuery从动态数组中获取值

Javascript jQuery从动态数组中获取值,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个带有divs ID的数组,在我的例子中,它的所有divs ID值都位于父div区域: jQuery.fn.getIdArray = function () { var ret = []; $('[id]', this).each(function () { ret.push(this.id); }); return ret; }; var array = $("#area").getIdArray(); 我需要得到一个数组字段值,如下所示: var lef = $("#

我有一个带有divs ID的数组,在我的例子中,它的所有divs ID值都位于父div区域:

jQuery.fn.getIdArray = function () {
 var ret = [];
 $('[id]', this).each(function () {
  ret.push(this.id);
 });
 return ret;
 };

var array = $("#area").getIdArray();
我需要得到一个数组字段值,如下所示:

var lef = $("#array".[0]).css("left");

疯狂地挥杆看看我对这个问题的评论:

var array = $("#area").getIdArray();
var lef=$("#" + array[0]).css("left");
这假设getIdArray返回一个字符串数组,其中每个字符串都是DOM元素的id值,并且您希望获得这些元素中第一个元素的左值

例如,如果数组返回为:

["foo", "bar", "charlie"]

然后,+array[0]创建的选择器是foo,因此您最终会得到foo元素的左值。

对其进行了猛烈的攻击参见我对这个问题的评论:

var array = $("#area").getIdArray();
var lef=$("#" + array[0]).css("left");
这假设getIdArray返回一个字符串数组,其中每个字符串都是DOM元素的id值,并且您希望获得这些元素中第一个元素的左值

例如,如果数组返回为:

["foo", "bar", "charlie"]

然后,+array[0]创建的选择器是foo,因此您最终得到foo元素的左值。

如果您的变量数组中有一个实际的JS数组,只需使用括号符号访问每个单独的ID即可

// I have the # before-hand since I'm assuming you have just the ID name
var lef = $('#' + array[0]) // this will access the 1st one in the array

如果在变量数组中有一个实际的JS数组,只需使用括号符号来访问每个ID

// I have the # before-hand since I'm assuming you have just the ID name
var lef = $('#' + array[0]) // this will access the 1st one in the array

我想你正在寻找这个:

var divYouWantToChange = $("#"+array[0]);

我想你正在寻找这个:

var divYouWantToChange = $("#"+array[0]);

我试图将其表述为一个答案,因为getIdArray不是一个jquery函数,我们不知道它做什么。如果要对$area集合应用自定义筛选器,可以使用筛选器。这将返回一个jquery对象,您可以从中获取.cssleft

如果要同时保存id和left属性,可以使用以下代码:

var objects=[];
$("#area").filter(function(){
  $this=$(this);//cache the object
  objects.push({id:$this.attr("id"),
   left:$this.css("left")
  };
});
console.log(objects);

我试图将其表述为一个答案,因为getIdArray不是一个jquery函数,我们不知道它做什么。如果要对$area集合应用自定义筛选器,可以使用筛选器。这将返回一个jquery对象,您可以从中获取.cssleft

如果要同时保存id和left属性,可以使用以下代码:

var objects=[];
$("#area").filter(function(){
  $this=$(this);//cache the object
  objects.push({id:$this.attr("id"),
   left:$this.css("left")
  };
});
console.log(objects);

恐怕你的问题太小了一点getIdArray的返回值是多少?你说需要获取数组字段值是什么意思?这个短语相当清楚,但后面的代码似乎与之无关。这就是如何使用数组$+array[0]。cssleft;我们还不知道是什么,格蒂达瑞回来了。如果你有一个自定义过滤器,你可以:$area.filterfunction{//如果你想使用这个函数,请返回true}.cssleft来制作你的自定义过滤器。你可以:恐怕你的问题太少了一点。;-getIdArray的返回值是多少?你说需要获取数组字段值是什么意思?这个短语相当清楚,但后面的代码似乎与之无关。这就是如何使用数组$+array[0]。cssleft;我们还不知道是什么,格蒂达瑞回来了。如果您有自定义筛选器,则可以:$area.filterfunction{//如果希望使用此函数,则返回true}.cssleft来生成自定义筛选器,您可以: