javascript - 如何获取具有特定类的多个元素 ID

标签 javascript jquery

我有一堆动态创建的项目供用户选择。在这种情况下,将添加“selected”类。

<li id="test1" class="myElement selected"></li>
<li id="test2" class="myElement"></li>
<li id="test3" class="myElement"></li>
<li id="test4" class="myElement selected"></li>
<li id="test5" class="myElement selected"></li>
<li id="test6" class="myElement"></li>

如何获取所有具有“selected”类 onclick 的元素的 id?

最佳答案

使用Document.querySelectorAll()使用选择器 .selected[id]。也就是说,所有具有 selected 类且 具有 id 属性的元素。

const elementsWithSelectedClass = document.querySelectorAll('.selected[id]')
const selectedElementIds = Array.from(elementsWithSelectedClass) // convert to array
    .map(el => el.id) // map to an array of id values

console.info(selectedElementIds)
<ul style="list-style:none">
<li id="test1" class="myElement selected"></li>
<li id="test2" class="myElement"></li>
<li id="test3" class="myElement"></li>
<li id="test4" class="myElement selected"></li>
<li id="test5" class="myElement selected"></li>
<li id="test6" class="myElement"></li>
</ul>

这将为您提供一个 id 值数组。

我正在使用Array.from转换NodeListquerySelectorAll 返回到一个数组,这样我就可以使用 map方法。

关于javascript - 如何获取具有特定类的多个元素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42499846/

相关文章:

PHP 数组到 JavaScript 数组

javascript - 不允许使用两个下拉列表选择相同的值

javascript - 将表单中的输入添加到同一页面中的表中,无需重新加载

jquery - Bootstrap Side Nav 禁用水平滚动

jquery - 销毁 iScroll 对象

Javascript - 从 HTML 输入中获取日期

javascript - 原型(prototype)设计时如何更改数组

javascript - JS/XSS : When assigning user-provided strings to variables; is it enough to replace <, > 和字符串分隔符?

javascript - javascript 有没有办法让我检查元素 id 是否与字符串匹配?

javascript - 什么是不使用时所需的浏览器特定代码的好例子,例如查询?