Javascript jQuery width()不工作

Javascript jQuery width()不工作,javascript,jquery,twitter-bootstrap,width,Javascript,Jquery,Twitter Bootstrap,Width,我试图在我的引导站点上获取特定类“span4”的第一个div的宽度,但是脚本无法执行我调用的第二行width()。以下是我所拥有的: var span = $('div.span4').first(); spanWidth = span.width(); 奇怪的是,当我删除上面两行并将spanWidth设置为常量时,我立即有了类似的工作代码: elements = $('a.backlink'); elements.each(function() { var a = $(this); if (

我试图在我的引导站点上获取特定类“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)
而不是
first()
尝试将span的显示设置为inline block

@SimonM的评论让我尝试用一个显式的全局
窗口来替换我隐含的全局
spanWidth
,现在一切都正常了。谢谢大家!

console.log(span)
返回什么?我认为问题可能是在设置
spanWidth
时忘记了
var
关键字……您能给我们看一下您的HTML部分吗?@dotblan如果您的console.log(span)在JSFIDDLE中尝试重现相同的行为返回undefined..这意味着没有第一个div元素具有名为span4的类。。。您可以在浏览器中检查呈现的html..并且您的div是否为隐藏div??