Ich versuche die Breite einer Zeichenfolge zu bestimmen. Ich benutze den folgenden Code, aber es gibt immer 0 zurück. Es scheint, dass, wie das Span-Element erstellt wird und nicht bereits im Seitenrumpf vorhanden ist, jQuery width () 0 zurückgibt. Gibt es eine Möglichkeit, so dass ich die Breite des Textes, ohne auf Dummy-HTML-Code in der Seite zu erstellen?
Danke:)
%Vor%Das Element muss im DOM vorhanden sein, damit die Breite berechnet werden kann. Wenn Sie dies berechnen müssen, bevor der Benutzer das Element sehen kann, versuchen Sie es zu verstecken, bevor Sie es in das DOM einfügen.
Sie können versuchen, das Steuerelement mit der CSS-Eigenschaft visibility: hidden
der Seite hinzuzufügen, bevor Sie die Größe erhalten. Dadurch müssen Sie das Element nicht sichtbar machen.
Es gibt keine Möglichkeit, die Breite zu erhalten, ohne die Kontrolle hinzuzufügen, da viele verschiedene Dinge die Breite beeinträchtigen können.
Ich habe hier erreicht, weil ich Tests mit Jasmine durchführte und die Breite von jQuery-Objekten berechnen musste, die im laufenden Betrieb erstellt wurden.
Die Lösung, sie zu einem DOM für Tests hinzuzufügen, war: Ссылка
Wenn Sie die Breite mit Inline-CSS einstellen, glaube ich, dass Breite den korrekten Wert zurückgibt. Nicht ideal, aber für einige Kontexte möglicherweise OK.