提问人:Jaxon 提问时间:5/2/2023 更新时间:5/2/2023 访问量:40
如何找到特定类名在元素之前出现的次数?
How to find the number of times a specific classname showed up before an element?
问:
假设我有这样的东西。
<div class="apple"></div>
<div class="apple"></div>
<div class="apple" id="MyElement"></div>
我想查找另一个元素在id=“MyEement”的元素之前出现的次数,以便我以后可以使用document.getElementsByClassName(“class”)[unknown]在javascript上对其进行修改。有没有办法在绝对没有jQuery的情况下做到这一点?class="apple"
我完全可以用 class=apple 计算它之前的元素数量,但是我有很多带有该类名的元素,所以有没有办法以编程方式做到这一点
答:
0赞
Mehdi
5/2/2023
#1
直接使用 elements 数组,通过 findIndex 方法搜索 ID 为“MyElement”的元素。findIndex 返回的索引是元素在 elements 数组中的位置,因此我们可以直接使用它来确定在 ID 为“MyElement”的元素之前有多少个“apple”元素。
// Get all elements with the class name "apple"
const elements = document.getElementsByClassName("apple");
// Find the index position of the element with the ID "MyElement"
const myElementIndex = Array.prototype.findIndex.call(elements, (element) => element.id === "MyElement");
// Determine how many "apple" elements came before the element with ID "MyElement"
const numApplesBefore = myElementIndex;
console.log(numApplesBefore); // outputs: 2
评论
1赞
Pointy
5/2/2023
该调用的结果将是数组的值;这根本没有意义。.findIndex()
appleIndices
appleIndices
评论