Dies ist eine Art Catch-22-Situation.
Auf der einen Seite können Sie einen Stilblock direkt vor dem Punkt einfügen, an dem Ihr Element in die Seite eingefügt wird, aber Chris Pebble weist auf die Probleme hin. (Wenn Sie sich dafür entscheiden, stellen Sie sicher, dass Sie eindeutige IDs für Ihre Elemente auswählen, damit Ihre Selektoren nicht versehentlich etwas anderes auswählen oder stylen).
Auf der anderen Seite könnte man so etwas tun:
<a href="#" onmouseover="this.style.color=red;" onmouseout="this.style.color='blue';">...</a>
Aber, das in seinem eigenen Recht böse ist, wie es Markup zusammenhält, Präsentation, Verhalten und eine ganze Reihe anderer Dinge.
Sie könnten auch ein Stylesheet in die Seite einfügen, indem Sie ein Link-Tag schreiben oder document.stylesheets manipulieren, aber das wird einen Download auslösen.
Ich habe in der Regel die erste Methode (Hinzufügen eines Stilblocks) auf große getan. "Modulare" Portalseiten tun dies, also ist es vielleicht der De-facto-Standard (es ist zumindest lesbarer und vielleicht einfacher zu pflegen als dort JavaScript zu stempeln?). Die JavaScript-Methode scheint am wenigsten Einfluss auf das DOM und die gesamte Seite zu haben, da Sie Ihre Präsentation für sich behalten.
Dies ist eine dieser Front-End-Dev Morases, wo jede Antwort, die Sie wählen, in gewissem Maße falsch ist, also wägen Sie die Optionen ab und wählen Sie aus, was am einfachsten zu bauen und zu warten ist.
@robbotic: Angenommen, er hatte eine Funktion foo (string u, string color1, string color2), die Coding Horror Inline-Hover-Stile ist einfacher. Ist das eine gute Idee? Ich würde eher eine solche Funktion haben, die einen Stil angenommen hat ... aber das zwingt die Leute, die meine Klasse benutzen, dazu, CSS selbst zu verwenden, was die Bereitstellung auf kurze Sicht etwas mehr Arbeit macht. – Brian
@Brian Ich versuche, Inline-Stile wann immer möglich zu vermeiden. Ich weiß, dass sie schneller aufgebaut sind, aber ich denke, du verlierst, wenn du den gleichen Stil irgendwo anders duplizieren musst. Ich würde lieber eine große CSS-Datei (oder mehrere CSS-Dateien) mit allen Stilen auf meiner Website haben. Auf diese Weise kann ich einfach auf das zugreifen, was ich möchte, und ich kann alles auf meiner gesamten Website ändern und umsetzen. –
Was genau ist der Zweck davon? Inline Styling ist eine toxische Verletzung der Trennung von Bedenken. Überlassen Sie es CSS. – annakata