javascript - Jquery width $(el).width() 似乎在这里失败

标签 javascript jquery html css dom

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

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

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

最佳答案

不知道为什么 - 这可能是一个错误;然而,...

默认情况下,Span 不应具有任何宽度属性,当然它们最终会在浏览器呈现后具有任何宽度属性。你可以做的就是让它们成为 block 状元素,这应该可以解决这个问题:

span { display:inline-block; }

编辑:

其他有趣的事情是,如果您删除 ABC 范围与其包装器之间的所有空白,它将正常工作。这可能与空白和换行有关。浏览器可能无法给出宽度,因为容器可能从一行开始并在另一行结束。这也许可以解释为什么将其设为 block 可以修复它,因为将容器设为 block 可能会将整个容器保持在一起。

关于javascript - Jquery width $(el).width() 似乎在这里失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612439/

相关文章:

javascript - 如何使用自定义属性创建/发布 Open Graph 对象实例/记录?

JQuery 选项卡更改指针 onDrag

javascript - 如何接受仅添加媒体文件(视频和照片)和“无所有文件”部分

javascript - 简化功能,使代码不会变得太大

Javascript onmouseover 无法在 Firefox 中使用 doctype?

Javascript - 正则表达式 - 如何删除指定长度的单词

javascript - 统计div数量并添加jquery展开和折叠文本

javascript - 如何在鼠标悬停时围绕 div 元素创建边框

html - 是否可以使用 Bootstrap 4 网格以这种特定方式更改我的移动页面布局?

html - 如何使 DIV 元素响应屏幕分辨率