2017-03-19 3 views
0

私のコードでは、番号のついたDivsの1つをクリックするとdivに接続されたクラスの名前が通知されます。私が確信しているのは、そのクラスの前回の発生数をどのように検出できるのかです。たとえば、2をクリックすると、それが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

がHの制御にあなたはTML?これは、要素が複数のクラスを持つことができるため、実際には孤立した良い考えではありません。あなたはどのようなものを使うのか、どのようにして伝えますか? – Ryan

+0

ああ、良い点。これはおそらく悪い考えです。 –

答えて

0

ライアンが書いたように、これは要素はあなたの例簡単なの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>

関連する問題