Javascript 具有数据属性的Div元素使用相同的数据属性Div获取单独的索引

Javascript 具有数据属性的Div元素使用相同的数据属性Div获取单独的索引,javascript,jquery,Javascript,Jquery,我有一个如下的结构 <div data-example="1"></div> <div data-example="2"></div> <div data-example="1"></div> <div data-example="3"></div> <div data-example="2"></div> <div data-example="2"></di

我有一个如下的结构

<div data-example="1"></div>
<div data-example="2"></div>
<div data-example="1"></div>
<div data-example="3"></div>
<div data-example="2"></div>
<div data-example="2"></div>
<div data-example="4"></div>

在该结构中,可以使用不同值的数据添加额外的div,例如4-5-6-9等

我想用相同的数据示例attr获取div的索引,并将其添加为html元素。比如说

<div data-example="1">Index is 0 for data 1</div>
<div data-example="2">Index is 0 for data 2</div>
<div data-example="1">Index is 1 for data 1</div>
<div data-example="3">Index is 0 for data 3</div>
<div data-example="2">Index is 1 for data 2</div>
<div data-example="2">Index is 2 for data 2</div>
<div data-example="4">Index is 0 for data 4</div>
数据1的索引为0 数据2的索引为0 数据1的索引为1 数据3的索引为0 数据2的索引为1 数据2的索引为2 数据4的索引为0 详情

数据1的索引为0这是第一个div,其中数据示例值为1,这是数据示例值为1的div中的第一个div,其索引为0。数据示例为2的第二个div获取索引1


如何使用jquery动态获取索引。

您可以使用筛选函数进行此操作

var allItems=$(“div”).filter(“[数据示例]”);
var-mV=0;
如果(allItems.length>0){
$(所有项)。每个(函数(k,v){
var val=$(this.attr(“数据示例”);
如果(mV

$('div')。每个(函数(){
var attr=$(this.attr('data-example');
if(typeof attr!==typeof undefined&&attr!==false){
var counter=$(this.prevAll('div[data example='+$(this.data('example'+'])).length;
$(this.text)(“索引是”+$(this.data('example'))的“+计数器+”;
}
});


未更改的
问题尚不清楚。为什么数据2的
索引为0
而数据3的
索引为0
等等?这背后的逻辑是什么?因为div必须根据其数据示例值进行分组。如果他们分组,他们将获得该索引。我认为
索引是数据y的x
意味着
这是正确的吗s是我第x次看到y
?是的,这也会起作用,我想@jrtapsell谢谢你的回复,但我想要具有相同数据的div的索引示例值第一个div具有数据示例1将获得索引0第二个div具有数据示例1将获得索引1第一个div具有数据示例2将获得索引0第二个div具有数据示例2将获得索引1等等。答案更新。你也可以使用带有属性值的过滤器。是的,这一个可以是解决方案,因为它可以工作,但我尝试在不预定义ic值的情况下找到解决方案,因为可能数据示例值将超过10,并且必须预定义ic值,这在我的情况下是不可能的。当我们预定义Ic值每个函数将运行10次,但在上面的示例中4就足够了。如果我不能得到更好的答案,我将选择您的答案作为正确答案。当然,如果我找不到解决方案,谢谢@AmitThank you的答案这也是正确的,我必须查看两个不同实现的性能谢谢@AmitThank you你的答案100%正确@活到死