Jquery 将某个类的所有元素的ID获取到数组中

Jquery 将某个类的所有元素的ID获取到数组中,jquery,Jquery,以下是我想做的: 目前,我正在使用它创建一个数组,其中包含与.cookie类名匹配的所有元素。现在我正在获取该元素的文本值,这不是我需要的: var getAllCookies = $('.cookie').text(); var cookiesArray = jQuery.makeArray(getAllCookies); alert(cookiesArray[0]); 我需要的是找到某个类(.cookie)的所有元素,获取该元素的ID值并将该ID值存储在数组中 我认为这应该符合你的要求:

以下是我想做的:

目前,我正在使用它创建一个数组,其中包含与
.cookie
类名匹配的所有元素。现在我正在获取该元素的文本值,这不是我需要的:

var getAllCookies = $('.cookie').text();
var cookiesArray = jQuery.makeArray(getAllCookies);
alert(cookiesArray[0]);

我需要的是找到某个类(.cookie)的所有元素,获取该元素的ID值并将该ID值存储在数组中

我认为这应该符合你的要求:

var ids = $('.cookie').map(function(index) {
    // this callback function will be called once for each matching element
    return this.id; 
});

.

您可以尝试:

var cookiesArray = [];

$('.cookie').each( function(i,e) {
    /* you can use e.id instead of $(e).attr('id') */
    cookiesArray.push($(e).attr('id'));
});

或者
.push(this.id)
或者
.push(e.id)
有什么方法可以解释
函数(i,e)
在做什么?当然,
each()
迭代选择器上匹配的元素,
function
执行括号内的代码,
I
是元素(0,1,2等)的当前索引,
e
是当前元素,基本上是
$(e)
在每次迭代中都相当于
$(这个)
,哦,好吧,我想我是在跟随。非常感谢。让我试试。
$.map
允许您将一个数组或对象转换为另一个数组或对象。它接受您从回调中返回的内容,并将其粘贴到一个数组中,然后返回新数组。
.map()
自动创建一个具有
.cookie
类的元素数组。
ids
是我的新元素值数组吗?你能告诉我
索引
到底在做什么吗?
$('.cookie')
获取一个与
'.cookie'
选择器匹配的元素数组
map
接受一个回调函数,该函数将每个匹配的元素转换为其他元素,在本例中为元素的
id
值。谢谢。我喜欢这一条,因为它包含了“if”语句,但我认为它太长了。好了,也许它很长,但可以说也很可读
var cookiesArray = new Array();
$('.cookie').each(function() { 
  var id = $(this).attr(id);
  if(id != undefined) {
    cookiesArray.push(id);
  }
});