我正在尝试为我的方案找到文本宽度。 这是我的代码(简单示例)
var text = "Country <textinbrackets> and some following text";
var textObj = document.createElement('text');
$(textObj).attr({ 'id': 'measureTex'});
document.body.appendChild(textObj);
textObj.innerHTML = text;
alert("Text Width:" + textObj.offsetWidth + " " + "Text Height:" + textObj.offsetHeight);
当我在我的文字中使用标签(&lt;&gt; )时,它不被考虑( )所以我无法找到确切的宽度文本。 文本的实际宽度为323,但返回为212 .. 如何找到确切的宽度..
示例链接:http://jsfiddle.net/W4Km8/7047/
怎么解决?
答案 0 :(得分:2)
那是因为<textinbrackets>
已被渲染为html元素。如果您检查文本,则会将<textinbrackets>
视为html元素。
只需替换“&lt;”与
<
和“&gt;”与
>
所以,你的文字看起来像是
var text = "Country <textinbrackets> and some following text";
如果您不想更改文字,请使用此文件。
textObj.innerText = text;