jquery - 单击每个 li 即可获取同一类的所有 li 的 id

标签 jquery

我有一个如下所示的 DOM 元素

<ul id="names">
   <li id="aa" class="selected">aa</li>
   <li id="bb">bb</li>
   <li id="cc">cc</li>
   <li id="dd">dd</li>
</ul>

当我单击 li 元素时,“selected”类将添加到该元素。单击选定的 li 后,该类将被删除。 现在,每次我单击 li 时,我都需要创建一个包含所有选定 li 元素的数组。

如果选择了 aa 和 bb,那么我的数组应该如下所示 ["aa", "bb"] 当我使用 bb 并选择 cc 时,它应该变成 ['aa','cc']。该数组应该在单击 li 时创建,而不是在单击任何按钮时创建。

我如何通过查询来做到这一点? 提前致谢

最佳答案

假设您想要一个 id 数组,其中该元素具有 selected 类,只需将元素的 id 映射到数组与 jQuery 的 map(),任何时候你需要获取它们:

var ids = $('#names .selected').map(function(){
    return this.id;
}).get();

JSFiddle

关于jquery - 单击每个 li 即可获取同一类的所有 li 的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22322785/

相关文章:

javascript - 表单 POST 提交请求显示为 get 请求

javascript - 通过javascript获取JSON【跨域】

php - Flexigrid 通配符搜索是否可以在 "quick search"中进行?

javascript - fitBounds 调用后增加 map 缩放不起作用

javascript - 添加表格行和单元格

javascript - 如何从表格单元格中获取数据?

javascript - 创建没有缓动效果的垂直轮播

authentication - 从 servlet-filter 重定向 Web 客户端(通过 AJAX 进行客户端-服务器连接)

javascript - Bootstrap 下拉导航栏行为不当

javascript - 我可以使用什么将 YouTube 视频的链接存储到我的页面中?