Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “客户宽度”;撒谎;,无法确定元素的实际宽度 文本长度超过50[_Javascript_Html_Dom - Fatal编程技术网

Javascript “客户宽度”;撒谎;,无法确定元素的实际宽度 文本长度超过50[

Javascript “客户宽度”;撒谎;,无法确定元素的实际宽度 文本长度超过50[,javascript,html,dom,Javascript,Html,Dom,document.getElementById(“theElement”).clientWidth总是返回50,这是父元素的宽度,而元素的内容显然要宽得多 (元素本身实际上具有此宽度,但我需要知道其“自然”宽度,即其内容的宽度。) 在Chrome和IE中体验到这种行为。如果anoyne知道如何确定位于另一个具有预设/有限宽度的DIV中相对定位的DIV的实际尺寸…?您感兴趣:您感兴趣:这是因为它是一个块元素,实际上是从其父元素获取其宽度。T它内部的文本溢出到容器外部,但不会影响容器的实际宽度 您可

document.getElementById(“theElement”).clientWidth总是返回50,这是父元素的宽度,而元素的内容显然要宽得多

(元素本身实际上具有此宽度,但我需要知道其“自然”宽度,即其内容的宽度。)


在Chrome和IE中体验到这种行为。如果anoyne知道如何确定位于另一个具有预设/有限宽度的DIV中相对定位的DIV的实际尺寸…?

您感兴趣:

您感兴趣:

这是因为它是一个块元素,实际上是从其父元素获取其宽度。T它内部的文本溢出到容器外部,但不会影响容器的实际宽度

您可以通过在内部
中添加
边框
样式来证明这一点

通过更改元素的显示类型,可以使元素从文本宽度中获取其宽度

如果将其设置为
display:inline block;
,它将报告正确的宽度


如果现在添加一个
边框
,您会注意到它也发生了变化。

这是因为它是一个块元素,实际上是从其父元素获取宽度。它内部的文本溢出到容器外部,但不影响容器的实际宽度

您可以通过在内部
中添加
边框
样式来证明这一点

通过更改元素的显示类型,可以使元素从文本宽度中获取其宽度

如果将其设置为
display:inline block;
,它将报告正确的宽度


如果你现在添加一个
边框,你会注意到它也发生了变化。

我认为jQuery的
.width()
可以解决很多问题。使用它是一个选项吗?(编辑:划掉它,它也在撒谎)@Pekka웃 它实际上对我有效。Nether
clientWidth
scrollWidth
都有效,但是
width()
实际上对
jQuery Combobox
起了作用。我认为jQuery的
.width()
可以解决很多问题。使用它是一种选择吗?(编辑:划伤它,它也在撒谎)@Pekka웃 它实际上对我很有效。Nether
clientWidth
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>