JQuery - 集合迭代

时间:2010-05-04 14:57:36

标签: jquery

我是JQuery的新手。我有一个select html元素。我试图了解如何遍历select元素中的选项。我知道如何使用传统的javascript来完成它,如下所示:

for (i=0; i<mySelect.options.length; i++)
  alert(mySelect.options[i].value);

但是,我正在尝试更多地了解JQuery。有人能告诉我使用JQuery迭代集合的最佳方法吗?

谢谢

5 个答案:

答案 0 :(得分:9)

取决于你想做什么。

  • 如果您只想对集合进行迭代,可以使用each

  • 如果您想迭代集合并对每个元素应用转换(并获得新的集合),则map

  • 如果您只想选择收藏的子集,则会grep

答案 1 :(得分:1)

试试这个:

$("#mySelect options").each(
    alert($(this).attr("value"));
)

答案 2 :(得分:1)

我相信你可以使用每个功能。 See here

答案 3 :(得分:1)

首先:恕我直言,你学习非jQuery的方式很棒。注意你不要认为使用jQuery会更好。

解决问题:如果您对mySelect有一个DOM引用select,那么您可以使用option获取$(mySelect).find("option")的jQuery对象。循环使用它们的常用方法是使用jQuery的each方法和(匿名)函数:

$(mySelect).find("option").each(function() {
   alert(this.value);
})

答案 4 :(得分:0)

此代码段将获取所有输入元素,对于each,将其索引打印在元素集合(索引)中,并将其值打印到日志中。

$(":input").each( function(index) { console.log(index + " " + this.value);})