Ich bin neugierig, warum dieser
%Vor% warnt nichts. Natürlich kann ich <div style = "width:100px">
schreiben
dann funktioniert alles gut, aber es ist nicht gut für mich, ich brauche CSS.
Hier finden Sie eine jsfiddle-Demo
Die genaue Frage ist also: Warum alarmiert dieser Code nicht die Breite von div und wie ist er alarmiert, wenn die Breite von css angegeben wird?
Das JavaScript .style
bezieht sich nur auf Inline-Stile für das Element.
Siehe Dokumentation .
Wenn Sie die Breite eines Elements erhalten möchten, sollten Sie offsetWidth
verwenden.
Wie bereits erwähnt, besteht das Problem darin, dass HTMLElement.style
die Werte aus dem Attribut style
des Elements abruft. Wenn Sie Ihren Stil mit CSS festlegen, müssen Sie stattdessen window.getComputedStyle(element, null).width
:
Referenzen:
Der Stil gibt nur Zugriff auf Informationen, die in elem.style
abgelegt sind. In Ihrem Beispiel sagt Stil nichts über den in CSS definierten Rand aus. Verwenden Sie getComputedStyle () .
Tags und Links javascript css