Wenn ich mein CSS-Stylesheet entfernen und alle Eigenschaften über eine JavaScript-Datei festlegen würde, wäre das möglich? Das heißt, gäbe es irgendetwas, auf das ich nicht über die JS DOM API zugreifen konnte?Gibt es CSS-Eigenschaften, auf die das JavaScript-DOM nicht zugreifen kann?
Antwort
Alles in CSS kann über JS zugegriffen werden, aber bedenken Sie, dass Benutzer mit JS deaktiviert überhaupt keinen Stil bekommen!
- CSS ist für das Styling
- JavaScript ist für Funktionalität zu verändern
Sie sie nicht, wenn dies unbedingt notwendig verschmelzen.
Ich bin mir nicht sicher, ob Sie in javascript verschiedene Medientypen wie "print" einstellen können.
[bearbeiten]
Eigentlich nehme ich das zurück. Sie können möglicherweise cssText dazu verwenden.
Die einzigen, die ich denken kann, sind möglicherweise IE CSS Ausdrücke (wie diejenigen, die häufig verwendet werden, um PNGs in IE6 zu beheben).
Ich denke jedoch nicht, dass dies in der Regel eine gute Idee ist, wie Sie Ihre Inhalte (HTML), Layout (CSS) und Logik (Javascript) aus Gründen der Wartungsfreundlichkeit getrennt halten möchten. Ganz zu schweigen davon, wenn Leute Ihre Seite mit deaktiviertem JavaScript besuchen.
ehh, ich stimme nicht überein – Shawn
ich würde denken, wenn der Browser es unterstützt, ist es zugänglich, es dreht sich alles um das DOM-Baby! Das DOM ist deine Seite, es ist, was der Browser im Speicher manipuliert und auf deinem Bildschirm rendert ... –
Dem stimme ich zu. Sie sollten CSS-Klassen so weit wie möglich in JavaScript setzen (außer bei Animationen, bei denen Sie bestimmte Eigenschaften anpassen müssen). Weniger Code in JavaScript, sauberere Trennung und einfacher alle Stile zu finden. –
Eine Menge interessanter Informationen über die DOM zu CSS Schnittstelle kann aus dem W3C Document Object Model CSS2 Specification. gelesen werden. Für CSS3 sind sie immer noch working on it.
So ist es möglich, jede CSS-Eigenschaft über CSS-DOM-Stylesheets zu bearbeiten, aber es hängt davon ab, was der Browser unterstützt.
Ich bin mir ziemlich sicher, dass die Ausführung des gesamten JS durch den Browser, nur um einen Stil zu setzen, viel langsamer wäre, als ein Stylesheet anzuwenden und möglicherweise anfälliger für Browserprobleme zu sein.
Große Frage: "Würde es etwas geben, auf das ich nicht über die JS DOM API zugreifen konnte?"
Ich denke, die Antwort ist ja. Siehe unten:
IE8 jetzt dies will für die Opazität Eigenschaft: -ms-Filter: "progid: DXImageTransform.Microsoft.Alpha (Opazität = 50)"
so jemand nicht weiß, wie man diese Eigenschaft ändern dynamisch mit Javascript DOM-Zugriff (DHTML)?
Punkt genommen?
Ich dachte, es gab eine Filtereigenschaft, die gesetzt werden konnte - oder zumindest über JS hinzugefügt wurde – Hugoware
Es stellt sich heraus, dass wir nicht auf mehrere Hintergründe zugreifen können, selbst wenn sie vollständig in CSS unterstützt werden.
- 1. kann nicht auf die hinzugefügte Servicereferenz zugreifen
- 2. JavaScript kann nicht auf die Geschwistermethode zugreifen
- 3. Ich kann nicht auf die Zielseite zugreifen
- 4. Gibt es irgendetwas, das die Vererbung nicht erreichen kann?
- 5. Schienen-Konsole-kann nicht auf Objekt-Attribute zugreifen (obwohl ich auf das Objekt selbst zugreifen kann)
- 6. Gibt es eine Möglichkeit, wie ein Besucher auf das zugreifen kann, was vom POST gesendet wird?
- 7. Ich kann Docker Container nicht auf das Internet zugreifen?
- 8. WCF-Hosting: Kann auf die svc-Datei zugreifen, aber nicht auf die wsdl-Verknüpfung zugreifen
- 9. Warum kann diese iOS App nicht auf das Netzwerk zugreifen?
- 10. Python: Kann nicht Listenelement zugreifen, obwohl es
- 11. Ich kann anscheinend nicht auf das Ablaufdatum eines Cookies zugreifen.
- 12. Das Compute Engine-Standarddienstkonto kann nicht auf Cloud SQL zugreifen
- 13. malloc() gibt die Adresse zurück, auf die ich nicht zugreifen kann
- 14. Kann nicht auf Tabelle in Mysql zugreifen, obwohl es existiert
- 15. Ich kann nicht auf das erste Objekt in JSON zugreifen
- 16. kann nicht auf das Attribut eines Attributs w getattr zugreifen?
- 17. Kann nicht auf entsorgten Objekt zugreifen. NET
- 18. R- kann nicht auf dr.fit() -Funktion zugreifen
- 19. Kann nicht auf Summenfunktion in linq zugreifen
- 20. Jasperserver-Installation kann nicht auf Datenbank zugreifen
- 21. Warum kann Serviceworker nicht auf Cookies zugreifen
- 22. Ich kann nicht auf die Tomcat Admin-Konsole zugreifen?
- 23. Ajax-Erfolgsfunktion kann nicht auf die benutzerdefinierte Funktion zugreifen
- 24. Ich kann nicht auf AudioRecorder zugreifen
- 25. Magento kann nicht auf CSS-Dateien zugreifen
- 26. Mongoose - kann nicht auf Objekteigenschaften zugreifen?
- 27. ASP.Net PreSendRequestHeaders kann nicht auf Sitzung zugreifen
- 28. XML: Der Prozess kann nicht auf die Datei zugreifen
- 29. Uploadify, kann nicht auf $ _POST-Daten zugreifen
- 30. Kann nicht auf localhost/xampp/index.php zugreifen
Dies ist eine beängstigende Idee, auch wenn es Ihnen nichts ausmacht, Leute auszuschalten, die Javascript deaktivieren. CSS so viel schneller als Javascript ist es nicht einmal lustig. – Chuck
Auch, wenn der Unterschied zwischen CSS und JS ist, ich weiß nicht, in der Größenordnung von Hunderten von ms, ich glaube nicht, dass es * das * große Deal ist. – cdmckay
Das ist nicht unbedingt der Fall. Ich habe vor kurzem eine echte Seite eingerichtet, von der sich die Leute beschwerten "es dauerte ewig, um sie zu laden". Es war stark mit Javascript gestylt. Ich habe in den meisten Javascript, aber äquivalente CSS hinzugefügt und einfach so, dass die Seite nutzbar wurde. – Chuck