Ich dachte, eine einfache Funktion, wo, wenn Sie auf eine Schaltfläche klicken, wird eine Nummer innerhalb eines Absatzes angezeigt. Und wenn Sie weiterhin auf die Schaltfläche klicken, wird die Zahl innerhalb des Absatz-Tags erhöht. Ich bekomme jedoch eine Fehlermeldung, dass getElementsByTagName keine Funktion ist. Here ist der Code auf jsfiddle, ich weiß, dass es etwas einfaches ist, dass ich falsch mache, aber ich weiß nicht, was es ist.Einfache Zählung Funktion funktioniert nicht
HTML
<div class="resist" id="ex1"><h2>Sleep</h2><p></p><button>Resist</button></div>
<div class="resist" id="ex2"><h2>Eat</h2><p></p><button>Resist</button></div>
Javascript
var count = 0;
var resist = document.getElementsByClassName('resist') ;
for(var i = 0; i < resist.length; i++)
{ var a = resist[i];
a.querySelector('button').addEventListener('click', function(a){
count +=1;
a.getElementsByTagName('p')[0].innerHTML = count;
});
}
Es funktioniert etwas, aber jetzt entsteht ein anderes Problem. Immer wenn ich auf die beiden Knöpfe klicke, wird die Zahl nur im zweiten .resist Bereich erhöht. –
Ich bin nicht sicher, was das erwartete Verhalten ist. Ist es das, was Sie wollen: https://jsfiddle.net/nz1fjf57/2/? Oder möchten Sie separate Zähler für jede RESIST? – dfsq
Ich wollte unbedingt separate Zähler. Deines funktioniert besser, aber ich wollte, dass beide Absätze bei 0 beginnen. Ich denke, ich sollte einfach einen weiteren Zähler für jedes Resist-Div machen. –