Я пытаюсь определить ширину строки. Я использую следующий код, но он всегда возвращается 0. Это, кажется, что, поскольку элемент промежутка уже создается и не существующий в теле страницы, ширина jQuery () возвращается 0. Существует ли путь, таким образом, что я могу получить ширину текста, не обращаясь к созданию фиктивного HTML-кода на странице?
Спасибо :)
$('<span>test</span>').width(); // width = 0
$('span.width').width(); // returns a width value
<body><span class="width">test</span></body>
Элемент должен присутствовать в DOM, чтобы ширина была рассчитана. Если вам нужно рассчитать ширину до того, как пользователь сможет увидеть элемент, попробуйте скрыть его перед помещением в DOM.
Вы можете попробовать добавить элемент управления с помощью свойства css visibility: hidden
на страницу до получения размера, что позволяет избежать необходимости делать элемент видимым.
Невозможно получить ширину без добавления элемента управления, так как на ширину может влиять множество разных вещей.