1

我试图在我的引导站点上获取特定类“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]andget(0)代替first().

4

2 回答 2

0

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

于 2013-06-12T08:52:57.433 回答
0

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

于 2013-06-13T07:51:17.170 回答