JQuery - 集合迭代

问题描述 投票:0回答:5

我是 JQuery 新手。我有一个选择 html 元素。我试图了解如何迭代选择元素中的选项。我知道如何使用传统的 JavaScript 来做到这一点,如下所示:

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

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

谢谢你

jquery
5个回答
9
投票

取决于你想做什么。

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

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

  • 如果您只想选择集合的子集,可以使用 grep


2
投票

首先:恕我直言,您学习非 jQuery 方法真是太棒了。请注意,不要陷入认为使用 jQuery 一切都会变得更好的想法。

问题:如果你有一个 DOM 引用

mySelect
select
那么你可以通过
option
获得
$(mySelect).find("option")
的 jQuery 对象。循环遍历它们的通常方法是使用 jQuery 的
each
方法和一个(匿名)函数:

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

1
投票

我相信您可以使用每个功能来实现此目的。 看这里


1
投票

试试这个:

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

0
投票

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

$(":input").each( function(index) { console.log(index + " " + this.value);})
© www.soinside.com 2019 - 2024. All rights reserved.