2010-07-27 14 views
22

Ich habe eine textarea mit dem Text Hello World. Ich möchte die Höhe dieses Textes erreichen.Wie bekomme ich die Höhe des Textes in einem Textfeld

habe ich versucht, zu verwenden:

var element = document.getElementById('textarea'); 
var textHeight = element.innerHTML.offsetHeight; 

und:

var textHeight = element.value.offsetHeight; 

Aber diese nicht geben die Zahlen des Textes, sondern die Höhe des textarea Element.

Antwort

16

Erstellen Sie ein span-Element, legen Sie innerHTML von Span auf "Hello World" fest.
Erhalten Sie die offsetHeight des Bereichs.

var span = document.createElement("span"); 
span.innerHTML="Hello World"; //or whatever string you want. 
span.offsetHeight // this is the answer 

Beachten Sie, dass Sie den Schriftstil des Bereichs auf den Schriftstil des Textarea festlegen müssen.

Ihr Beispiel wird nie funktionieren, da innerHTML und Wert beide Strings sind. String definiert OffsetWidth nicht.

Wenn Sie die Höhe des ausgewählten Texts innerhalb eines Textbereichs erhalten möchten, verwenden Sie selectionStart/selectionEnd, um den ausgewählten Text des Textbereiches zu finden.

+0

Aham, also sollte ich eine '' innerhalb der '