当文本具有特殊字符时,offsetWidth 计算不正确
offsetWidth not calculated properly when text has a special character
我正在尝试为我的场景找到文本宽度。
这是我的代码(简单示例)
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);
当我在我的文本中使用标签时 (<>) 它没有被考虑 () 所以我不能找到文本的确切宽度。
文本的实际宽度为 323,但返回为 212..
如何找到确切的宽度..
样本Link:http://jsfiddle.net/W4Km8/7047/
如何解决?
那是因为 <textinbrackets>
已呈现为 html 元素。如果您检查文本,您会看到 <textinbrackets>
作为 html 元素。
只需将“<”替换为
<
和“>”与
>
所以,你的文字看起来像
var text = "Country <textinbrackets> and some following text";
如果您不想更改文本,请使用它。
textObj.innerText = text;
我正在尝试为我的场景找到文本宽度。 这是我的代码(简单示例)
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);
当我在我的文本中使用标签时 (<>) 它没有被考虑 () 所以我不能找到文本的确切宽度。 文本的实际宽度为 323,但返回为 212.. 如何找到确切的宽度..
样本Link:http://jsfiddle.net/W4Km8/7047/
如何解决?
那是因为 <textinbrackets>
已呈现为 html 元素。如果您检查文本,您会看到 <textinbrackets>
作为 html 元素。
只需将“<”替换为
<
和“>”与
>
所以,你的文字看起来像
var text = "Country <textinbrackets> and some following text";
如果您不想更改文本,请使用它。
textObj.innerText = text;