计算一个班级在特定出现之前出现的次数

时间:2017-03-19 08:53:34

标签: javascript

在我的代码中,当您单击其中一个编号的Div时,它将提醒附加到div的类的名称。我不确定的是如何检测该类之前出现的次数,例如,如果我点击2,它会提醒myClass(1)说它是第二次出现的? (假设0是第一个?)

需要普通的香草Javascript。

function counter(itemClicked) {
  var theClass = itemClicked.className;
  alert(theClass);
}
<div class="myClass" onclick="counter(this)">1</div>
<div class="myClass" onclick="counter(this)">2</div>
<div class="myClass" onclick="counter(this)">3</div>

1 个答案:

答案 0 :(得分:0)

正如Ryan所写,这是一个非常不安全的场景,如果元素有多个类(也可能用于其他类),它会破坏,但是,对于你的例子,一个简单的indexOf将起作用:

function counter(el) {
  let index = Array.from(document.getElementsByClassName(el.className)).indexOf(el);
  alert(++index);
}
<div class="myClass" onclick="counter(this)">1</div>
<div class="myClass" onclick="counter(this)">2</div>
<div class="myClass" onclick="counter(this)">3</div>