Ein paar kleinere Anmerkungen und Änderungen an den vorherigen Regexen:
Sie sollten dies global tun, falls die Klassenliste den Klassennamen mehr als einmal enthält. Außerdem werden Sie wahrscheinlich Leerzeichen von den Enden der Klassenliste entfernen und mehrere Leerzeichen in ein Leerzeichen umwandeln wollen, um zu verhindern, dass sich die Leerzeichen häufen. All diese Dinge sollten kein Problem darstellen, wenn der einzige Code, der mit den Klassennamen spielt, die unten stehende Regex verwendet und einen Namen entfernt, bevor er hinzugefügt wird. Aber. Nun, wer weiß, wer mit der Klassennamenliste herumspielt.
Diese Regex unterscheidet nicht zwischen Groß- und Kleinschreibung, so dass Fehler in Klassennamen auftauchen können, bevor der Code in einem Browser verwendet wird, der die Groß- und Kleinschreibung in Klassennamen nicht beachtet.
var s = "testing one four one two";
var cls = "one";
var rg = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "test";
var rg = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "testing";
var rg = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
var cls = "tWo";
var rg = new RegExp("(^|\\s+)" + cls + "(\\s+|$)", 'ig');
alert("[" + s.replace(rg, ' ') + "]");
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.