我正在尝试在我的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}}。
答案 0 :(得分:0)
尝试将span的显示设置为inline-block。
答案 1 :(得分:0)
@ SimonM的评论让我尝试用明确的全局spanWidth
替换隐含的全局window.spanWidth
,现在一切正常。谢谢!