Jquery宽度$(el).width()似乎在这里失败了

时间:2012-09-27 00:35:53

标签: javascript jquery html css dom

http://jsfiddle.net/3BFGU/27/

有谁知道为什么包含文本“ABC”的范围的宽度返回0。

1)仅在Firefox中发生。 2)如果我删除介于两者之间的跨度,它可以正常工作。 (http://jsfiddle.net/3BFGU/30/)

1 个答案:

答案 0 :(得分:2)

不确定原因 - 这可能是一个错误;但是,......

默认情况下,Span不应该有任何宽度属性,当然它们最终会在浏览器渲染后执行。你可以做的是让它们成块状元素,这应该解决它:

span { display:inline-block; }

编辑:

其他一些有趣的事情是,如果删除ABC跨度和它的包装器之间的所有空白区域,它将正常工作。这可能与白色空间和包装有关。浏览器可能无法提供宽度,因为容器可能从一行开始而在另一行结束。这可能解释了为什么将它作为一个块来修复它,因为使容器成为一个块,可能会将整个容器保持在一起。