Ich weiß, dass ich einen CSS-Wert über JavaScript festlegen kann , z.
document.getElementById('image_1').style.top = '100px';
Aber ich kann bekommen einen aktuellen spezifischen Stil Wert? Ich habe gelesen, wo ich den gesamten Stil für das Element erhalten kann, aber ich möchte nicht den gesamten String analysieren müssen, wenn ich nicht muss.
javascript
css
Michael Paul
quelle
quelle
var top = document.getElementById('image_1').style.top;
vermuten , dass Sie etwas wollen, wie Sie es vielleicht umformulieren möchten, wenn Sie es nicht wollenAntworten:
Sie können verwenden
getComputedStyle()
.jsFiddle .
quelle
Mit der Eigenschaft element.style können Sie nur die CSS-Eigenschaften kennen, die in diesem Element als Inline definiert wurden (programmgesteuert oder im style-Attribut des Elements definiert). Sie sollten den berechneten Stil erhalten.
Es ist nicht so einfach, dies browserübergreifend zu tun. Der IE hat seinen eigenen Weg über die element.currentStyle-Eigenschaft, und der von anderen Browsern implementierte DOM Level 2-Standardweg erfolgt über die document.defaultView.getComputedStyle-Methode.
Die beiden Methoden weisen Unterschiede auf. Beispielsweise erwartet die IE-Eigenschaft element.currentStyle, dass Sie auf die CSS-Eigenschaftsnamen zugreifen, die aus zwei oder mehr Wörtern in camelCase bestehen (z. B. maxHeight, fontSize, backgroundColor usw.). Die Standardmethode erwartet die Eigenschaften mit der Wörter, die durch Bindestriche getrennt sind (z. B. maximale Höhe, Schriftgröße, Hintergrundfarbe usw.). ......
Hauptreferenz-Stackoverflow
quelle
Verwenden Sie Folgendes. Es hat mir geholfen.
Siehe auch Stile abrufen .
quelle
Browserübergreifende Lösung zur Überprüfung von CSS-Werten ohne DOM-Manipulation:
Verwendung:
Bereinigte Version (erzwingt die Auswahl des Selektors in Kleinbuchstaben und ermöglicht den Anwendungsfall ohne führendes ".")
quelle
Wenn Sie es programmgesteuert einstellen, können Sie es einfach wie eine Variable (dh
document.getElementById('image_1').style.top
) aufrufen . Andernfalls können Sie immer jQuery verwenden:quelle
Wenn Sie in Bibliotheken, warum nicht MyLibrary und getStyle .
Die jQuery CSS - Methode ist falsch benannt, CSS ist nur eine Art und Weise Arten der Einstellung und stellen nicht notwendigerweise die tatsächlichen Werte eines Style - Eigenschaften des Elements.
quelle
Im Jahr 2020
Sie können computedStyleMap () verwenden
Die Antwort ist gültig, aber manchmal müssen Sie überprüfen, welche Einheit zurückgegeben wird. Sie können dies ohne eine
slice()
oder einesubstring()
Zeichenfolge erhalten.quelle
Aus Sicherheitsgründen möchten Sie möglicherweise überprüfen, ob das Element vorhanden ist, bevor Sie versuchen, daraus zu lesen. Wenn es nicht vorhanden ist, löst Ihr Code eine Ausnahme aus, die die Ausführung auf dem Rest Ihres JavaScript stoppt und dem Benutzer möglicherweise eine Fehlermeldung anzeigt - nicht gut. Sie möchten in der Lage sein, anmutig zu scheitern.
quelle
Die oben angegebene browserübergreifende Lösung ohne DOM-Manipulation funktioniert nicht, da sie die erste und nicht die letzte Übereinstimmungsregel enthält. Die letzte Übereinstimmungsregel ist diejenige, die gilt. Hier ist eine Arbeitsversion:
Diese einfache Suche funktioniert jedoch bei komplexen Selektoren nicht.
quelle