2013-02-13 27 views

Odpowiedz

1

Można tworzyć jakiś element inline (span, na przykład), ustawić ciąg jako zawartość elementu (innerHTML), włóż ją do dokumentu (dołączyć do jakiegoś elementu) i dostać to szerokość (clientWidth).

Nie ma innego sposobu pomiaru długości łańcucha w pikselach, ponieważ zależy to od stylu czcionki.

5

Umieść swój tekst w numerze <span> i użyj JavaScript, aby zmierzyć szerokość swojego <span>.

HTML:

<span id="text">Dummy text</span> 

JavaScript:

var textWidth = document.getElementById("text").clientWidth; 

jQuery:

$('#text').width(); 
+0

To nie działa, jeśli 'span' ma styl CSS, który ustawia na przykład jego szerokość na' 100% '! – Andry

+0

Masz rację @Andry. Z wyjątkiem 'span' jest z definicji element [inline element] (https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements). Oznacza to, że nie możesz zdefiniować jego szerokości bez zmiany wyświetlania na np. 'block' lub' inline-block'. – Mike

-2

Ponieważ długość piksel ciągu będzie się zmieniać w zależności niezależnie stosowane CSS atrybuty takie jak czcionki i waga i rozmiar, nie widzę, aby było to możliwe w JS.