【发布时间】:2016-03-19 11:42:26
【问题描述】:
这看起来很简单,但我无法弄清楚这里出了什么问题。我已经动态附加了一个<span>,如下所示:$("#parent").append("<span style='display:inline-block; position:absolute; background:yellow; z-index:10; top:12px;' id='mathBox"+flag_id+"'></span>");
现在我需要在按下某个键时找到这个<span> 的宽度(在我的情况下是TAB!)。
最初我尝试这样的 jquery:var width_of_text= $("'mathBox'+flag_id").width();
alert(width_of_text);
但这在控制台中显示了一个错误,即无法识别此表达式(即使我觉得这里有些不对劲!!)
然后我尝试使用 vanila JS,如下所示:var mathBox_id=document.getElementById('mathBox'+flag_id);
var width_of_text= mathBox_id.offsetWidth;
alert(width_of_text);
现在这工作正常,但它显示我错误的宽度。 DOM 上的<span> 元素(在测试时)几乎没有 25 宽,但它的宽度显示为 111 宽。
我知道我一定是在做一些愚蠢的事情,但我就是没能抓住它..
请帮忙!!
【问题讨论】:
-
您将变量用作字符串。使用:
$('mathBox'+flag_id) -
@BhojendraNepal 感谢您指出这一点,我猜这是我的拼写错误!对不起!
-
为什么这被否决了?我不应该问问题吗?
标签: javascript jquery html dom width