I’m trying to determine the width of a string. I’m using the following code but it always return 0. It seems to be that as the span element is created and not already present in the page body, jQuery width() returns 0. Is there a way such that I can get the width of the text without resorting to creating dummy html code in the page?
Thanks 🙂
$('<span>test</span>').width(); // width = 0
$('span.width').width(); // returns a width value
<body><span class="width">test</span></body>
The element must be present in the DOM in order for the width to be calculated. If you need to calculate this before the user can see the element, try hiding it before putting it into the DOM.