jQuery width()不起作用

时间:2013-06-12 08:47:03

标签: javascript jquery twitter-bootstrap width

我正在尝试在我的Bootstrap站点上获取特定类“span4”的第一个div的宽度,但是脚本无法执行我调用width()的第二行。这就是我所拥有的:

var span = $('div.span4').first();
spanWidth = span.width();

这个奇怪的部分是我在删除上面的两行并将spanWidth设置为常量后立即运行正常的工作代码:

elements = $('a.backlink');
elements.each(function() {
var a = $(this);
if (a.width() > spanWidth) {
    var aText = a.text();
    var lastIndex = aText.lastIndexOf(' ');
    var aTruncated = aText.substring(0, lastIndex);
    a.text(aTruncated + '...');
}
});

知道可能导致这种情况的原因是什么?我尝试了很多不同的方法来区分这两行,例如切换到each()方法,缩减为一行,并使用[0]get(0)代替{{ 1}}。

2 个答案:

答案 0 :(得分:0)

尝试将span的显示设置为inline-block。

答案 1 :(得分:0)

@ SimonM的评论让我尝试用明确的全局spanWidth替换隐含的全局window.spanWidth,现在一切正常。谢谢!