2

我有一个非常简单的问题,即“从 jquery 元素数组中提取属性值列表”。我在 jQuery 方面不是那么好,所以我可能在这里遗漏了一些非常明显的东西。

假设我有一个由 li 组成的列表(将使用 jquery-ui 可选插件进行选择):

<ol class="selectable" id="LeagueFilterEnum">
    <li>League</li>
    <li>Bronze</li>
    <li class="ui-selected">Gold</li>
    <li class="ui-selected">Platinum</li>
    <li>Master</li>
</ol>

我可以像这样选择它们:

var selectedElements = $("#LeagueFilterEnum li.ui-selected");

我正在寻找的是一种方法来检索这些 li 的每个属性“innerHtml”中的每一个,如果可能的话,在一行中......像这样:

var selectedLeagues = $("#LeagueFilterEnum li.ui-selected").selectValues("innerHtml");

在我的例子中,这会给我一个数组:['Gold','Platinum']

我可以使用一些 .each() 魔法,但我想知道是否存在更好的东西。

你有什么想法吗?

非常感谢。

4

1 回答 1

3

你可以做

var selectedLeagues = $("#LeagueFilterEnum li.ui-selected").map(function(){
    return this.innerHTML
}).get();

备注:

  • 我修复了你的选择器,这是错误的。
  • 最后get是从返回的 jQuery 对象中创建一个真正的数组map
于 2013-07-09T14:34:03.883 回答