Programmgesteuert entfernen, bestimmte Klassennamen von HTML-element
In C# ASP.NET ich bin das hinzufügen einer Klasse zu einem <input>
mit:
myInput.Attributes.Add("class","myClass");
Irgendwann würde ich gerne entfernen der hinzugefügten Klasse (nicht alle Klassen). Gibt es ein äquivalent entlang der Linien von:
myInput.Attributes.Remove("class","myClass");
.Remove()
scheint, um nur akzeptieren einen Schlüssel (keine Wert-paar). Danke!
- Wann müssen Sie zum entfernen der CSS-Klasse? Wenn die
<input>
element hat keinerunat="server"
dann das Attribut, das Sie Hinzugefügt haben, aus der code-behind wird nicht persistiert werden zwischen postbacks, sowieso. - Gute Entscheidung, ich habe nicht einmal die Mühe, darüber nachzudenken. Danke für die Hilfe mich erkennen, dass ich nicht haben, um sorgen um ihn zu entfernen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nichts ist gebaut, um verwalten Sie mehrere Werte im Attribut.
Haben Sie, um eine Analyse der Liste, entfernen Sie den Namen der Klasse und aktualisieren Sie das Attribut.
Etwas wie (ungetestet):
Where
ist in Ordnung, wenn Sie eineusing System.Linq;
- Anweisung.Where
aufList
s und nichtArray
s..ToList()
nach derSplit(' ')
.Bekam ich inspiriert von Odeds post und erstellt diese beiden extension-Methoden für Sie zu erarbeiten, mit;
Die Methoden sind einfach zum hinzufügen oder entfernen von CSS-Klassen aus WebControls (von wo Buttons, Labels, Panels usw. alle erbt) wie
myButton.AddCssClass("class1", "class2");
odermyButton.RemoveCssClass("class2");
.Es könnte sehr gut sein, ein bisschen overhead, aber die Verwaltung der CssClass Eigenschaft kann auch ein bisschen ein Streit wie Sie gezwungen, Griff die whitespaces, die auf Ihre eigenen.
Wie oft haben Sie gesehen, gehört, zum Beispiel?
Bitte fühlen Sie sich frei, um die Verbesserung der Methoden! 🙂