Javascript “客户宽度”;撒谎;,无法确定元素的实际宽度 文本长度超过50[
document.getElementById(“theElement”).clientWidth总是返回50,这是父元素的宽度,而元素的内容显然要宽得多 (元素本身实际上具有此宽度,但我需要知道其“自然”宽度,即其内容的宽度。)Javascript “客户宽度”;撒谎;,无法确定元素的实际宽度 文本长度超过50[,javascript,html,dom,Javascript,Html,Dom,document.getElementById(“theElement”).clientWidth总是返回50,这是父元素的宽度,而元素的内容显然要宽得多 (元素本身实际上具有此宽度,但我需要知道其“自然”宽度,即其内容的宽度。) 在Chrome和IE中体验到这种行为。如果anoyne知道如何确定位于另一个具有预设/有限宽度的DIV中相对定位的DIV的实际尺寸…?您感兴趣:您感兴趣:这是因为它是一个块元素,实际上是从其父元素获取其宽度。T它内部的文本溢出到容器外部,但不会影响容器的实际宽度 您可
在Chrome和IE中体验到这种行为。如果anoyne知道如何确定位于另一个具有预设/有限宽度的DIV中相对定位的DIV的实际尺寸…?您感兴趣:您感兴趣:这是因为它是一个块元素,实际上是从其父元素获取其宽度。T它内部的文本溢出到容器外部,但不会影响容器的实际宽度 您可以通过在内部
中添加边框
样式来证明这一点
通过更改元素的显示类型,可以使元素从文本宽度中获取其宽度
如果将其设置为display:inline block;
,它将报告正确的宽度
如果现在添加一个
边框
,您会注意到它也发生了变化。这是因为它是一个块元素,实际上是从其父元素获取宽度。它内部的文本溢出到容器外部,但不影响容器的实际宽度
您可以通过在内部
中添加边框
样式来证明这一点
通过更改元素的显示类型,可以使元素从文本宽度中获取其宽度
如果将其设置为display:inline block;
,它将报告正确的宽度
如果你现在添加一个
边框,你会注意到它也发生了变化。我认为jQuery的.width()
可以解决很多问题。使用它是一个选项吗?(编辑:划掉它,它也在撒谎)@Pekka웃 它实际上对我有效。NetherclientWidth
和scrollWidth
都有效,但是width()
实际上对jQuery Combobox
起了作用。我认为jQuery的.width()
可以解决很多问题。使用它是一种选择吗?(编辑:划伤它,它也在撒谎)@Pekka웃 它实际上对我很有效。NetherclientWidth
和scrollWidth
都有效,但是width()
实际上对jQuery Combobox
起了作用。我知道这一切(我猜关于Chrome和IE的说明让它看起来不一样)…我已经玩这个游戏太久了…无论如何,谢谢我知道这一切(我猜关于Chrome和IE的说明让它看起来不一样)…我已经玩这个太久了…谢谢你,我发誓我测试了所有三个:clientWidth,offsetWidth和scrollWidth…谢谢你该死的我,我发誓我测试了所有三个:clientWidth,offsetWidth和scrollWidth…谢谢你
<div style="width: 50px;">
<div id="theElement" style="position: relative; left 25px;">textMuchLongerThan50[</div>
</div>