OK, ich denke, in diesem Fall sollten Sie jQuery verwenden oder Ihre eigenen Methoden in reinem JavaScript schreiben. Ich bevorzuge es, meine eigenen Methoden hinzuzufügen, anstatt jQuery in meine Anwendung zu injizieren, wenn ich das nicht aus anderen Gründen brauche.
Ich möchte etwas wie unten als Methoden zu meinem JavaScript-Framework zu tun, um einige Funktionalitäten, die Hinzufügen von Klassen, Löschen von Klassen, etc. behandeln hinzuzufügen. Ähnlich wie jQuery, ist dies vollständig in IE9+ unterstützt. Auch mein Code ist in ES6 geschrieben, so müssen Sie sicherstellen, dass Ihr Browser unterstützt es oder Sie mit etwas wie Babel sonst müssen Sie die ES5-Syntax in Ihrem Code verwenden. Auch auf diese Weise finden wir Elemente über ID, was bedeutet, dass das Element eine ID haben muss, um ausgewählt zu werden:
// Simple JavaScript utilities for class management in ES6
var classUtil = {
addClass: (id, cl) => {
document.getElementById(id).classList.add(cl);
},
removeClass: (id, cl) => {
document.getElementById(id).classList.remove(cl);
},
hasClass: (id, cl) => {
return document.getElementById(id).classList.contains(cl);
},
toggleClass: (id, cl) => {
document.getElementById(id).classList.toggle(cl);
}
}
Und Sie können sie einfach wie unten beschrieben verwenden. Stellen Sie sich vor, Ihr Element hat eine id von "id" und eine class von "class". Stellen Sie sicher, dass Sie sie als String übergeben. Sie können das Dienstprogramm wie unten beschrieben verwenden:
classUtil.addClass('myId', 'myClass');
classUtil.removeClass('myId', 'myClass');
classUtil.hasClass('myId', 'myClass');
classUtil.toggleClass('myId', 'myClass');
33 Stimmen
"Das class-Attribut wird meist verwendet, um auf eine Klasse in einem Stylesheet zu verweisen. Es kann jedoch auch von einem JavaScript (über das HTML-DOM) verwendet werden, um Änderungen an HTML-Elementen mit einer bestimmten Klasse vorzunehmen." - w3schools.com/tags/att_standard_class.asp
25 Stimmen
element.setAttribute(name, value);
Ersetzen Siename
conclass
. Ersetzen Sievalue
mit dem Namen, den Sie der Klasse gegeben haben, eingeschlossen in Anführungszeichen. Dadurch wird vermieden, dass Sie die aktuelle Klasse löschen und eine andere hinzufügen müssen. Dies jsFiddle-Beispiel zeigt einen vollständig funktionierenden Code.5 Stimmen
Um eine Klasse eines HTML-Elements mit onClick zu ändern, verwenden Sie diesen Code:
<input type='button' onclick='addNewClass(this)' value='Create' />
und im Abschnitt javascript:function addNewClass(elem){ elem.className="newClass";
} Online0 Stimmen
@Triynko - der Link auf w3schools hat sich geändert, sieht aus wie im September 2012. Hier ist die Seite auf Archive.org vom 12/Sep/2012: HTML-Klasse Attribut-w3schools . Hier ist der Link für die Ersatzseite auf w3schools.com: HTML-Klasse Attribut-w3schools .
0 Stimmen
@ImanBahrampour Das wird alle bestehenden Klassen auslöschen.