javascript - das wechseln von einer Klasse' Stil
Arbeite ich mit jQuery für eine Weile, aber jetzt will ich etwas schreiben, in reinem javascript und es ist beweisen, um eine Herausforderung sein..
Eines meiner größten Probleme im moment ist, dass ich noch keinen Weg gefunden, festlegen/ändern-styling für die a-Klasse. Dies ist nicht ein problem für Elemente mit der id, aber das will ich ändern das styling für eine Gruppe von Elementen mit der gleichen Klasse und nicht nur für ein element mit einer id..
In jQuery würde ich einfach schreiben:
$('.someClass').css('color','red')
Gibt es wirklich keine einfache äquivalenz dieser in reinem js?
- Dies kann nützlich sein: stackoverflow.com/questions/1933602/...
- nicht ein Duplikat ist. Der OP möchte ausdrücklich ein nicht-jquery-Antwort.
- Sorry, hab nicht sehr genau gelesen.
- Siehe mein edit weiter unten. Sie können einfach wickeln Sie es und stellen Sie es in eine Funktion.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die folgenden
Hinweis: Als Fröhlich wies darauf hin
getElementsByClassName
funktioniert nicht im IE. Die verlinkte Frage ist ein schöner Weg, um diese Einschränkung zu umgehenZur besseren Codierung-Stil hinzufügen, eine andere Klasse auf die Elemente mit dem code oben und dann CSS verwenden, ändern Sie die Farbe aller Elemente, die:
Können Sie verwenden-Selektor-Bibliothek, zum Beispiel Brutzeln: http://sizzlejs.com/ aber wenn Sie wollen, reines JS, dass ich denke, Sie stecken mit, erhalten alle Elemente, und dann programmatisch "Handlese" diejenigen, die Klassen, die Sie interessiert mit RegEx wie diese zum Beispiel:
Dies ist ein äquivalent für Ihre JQuery-oneliner:
🙂
Wenn Sie nicht brauchen, es in eine Zeile und machen Sie es schneller (und viel besser lesbar):
Wenn "for( i in Objekt)" für Sie nicht funktioniert, nur mit der klassischen for-Schleife "for(var i = 0; i < Elemente.length; i++)".
Könnte es sein 'verschönert' ein bisschen mit dem Einsatz von einige etwas mehr erweiterte JS-Konzepte (die array-Funktion-Zuordnungen -, Falt-und solche), die JS-version sind Sie Codierung gegen? Ich denke, es ist nicht ECMA Script 5, richtig?
Schauen Sie sich auch diese Frage/Antwort Holen Sie sich Alle Elemente in einem HTML-Dokument mit einer bestimmten CSS-Klasse
Was Sie wollen zu ändern, ist das Stylesheet, denke ich? Das ist möglich in Javascript, siehe
Ich fürchte, es gibt keine Bibliothek, ich würde wirklich gerne sehen...
Können Sie verwenden:
ändern Sie die Klasse des Elements und dann eben definieren Sie den Stil für die neue Klasse in der CSS-Datei