Ich versuche, Eventlistener auf eine SchaltflächeHinzufügen und Entfernen von Klassennamen mit Eventlistener
<button id="btn">click me</button>
document.getElementById('btn').addEventListener('click', function (e) {
test(e.target);
}, false);
und jedes Mal Klick ausgelöst gesetzt, das andere HTML-Element (.random ul
) wird eine neue Klasse von my class
erhalten oder entfernen (auf den zweiten Klick)
function test() {
document.querySelector(".random ul").className = document.querySelector(".random ul").className += ' newclass'
? '' //need to remove the newclass
: ''; //need to add the newclass
}
Dies funktioniert offensichtlich nicht. Ich fand auch das folgende Skript, um richtig zusätzliche Klassennamen zu entfernen:
document.getElementById("MyElement").className =
document.getElementById("MyElement").className.replace
(/(?:^|\s)MyClass(?!\S)/g , '')
//from: http://stackoverflow.com/questions/195951/change-an-elements-class-with-javascript
Ich weiß nicht wirklich, wie es funktioniert und möchten Sie bitten, mir dabei zu helfen, bitte.
: Dieses Skript kann Ihr Problem, auch für sehr alten Browser lösen In welchen Browsern muss das funktionieren? – fboes
was ist los mit diesem? 'document.getElementById ('btn'). addEventListener ('click', Funktion (e) { \t e.target.classList.toggle ('Hallo') }, false);' –
Alle modernen Browser, IE9 und höher . Die meisten mobilen Browser. – alloohaa