0

如果该属性未在JSCSS中的任何位置指定,我如何找到JS样式属性的值?仅限JS。请不要使用JQuery或其他库。

当我说没有指定属性时,我的意思是我的代码中没有任何地方明确地给它一个值。例如,假设我有一个div标签,其中包含一些文本:

<div id="item" style="float:left;">This is just random text.</div>

由于里面的文本,该div宽度当然会大于 0 像素,但它会小于整行的宽度,因为它是向左浮动的。div将足够宽以容纳所有文本,但我无法弄清楚该宽度是多少,因为我从未指定它。例如,尝试以下代码:

alert(document.getElementById("item").style.width);

...将返回一个空字符串,因为从未指定宽度。但是,在页面加载并呈现元素之后,有没有办法用JS检索该div的计算/演示/实际宽度

顺便说一句,我不妨让你知道,我正在尝试放置几个容器,上面示例中的随机文本,在同一行上隔开并居中。我认为它们必须是div,因为我需要操纵margin属性以将它们隔开(这不能用spans完成)。为了将div强制到同一行,它们必须浮动。但是问题就变成了浮动元素不响应center标签或CSS text-align属性。所以唯一剩下的让容器居中的方法是给它们的容器(超级容器)一个宽度并设置它的CSS 边距属性为auto。但我不知道将超级容器的宽度设置为什么,因为内部容器中的文本会有所不同。所以我认为最好的做法是弄清楚每个内部容器的计算宽度是多少,并将所有宽度相加得到超级容器的宽度。但是,如果您发现这种思路有缺陷,或者有更简单的方法,请随时指出。

欢迎所有建议。谢谢。

4

1 回答 1

0

获取 div 的宽度所需的所有内容divID.clientWidth如下所示:

alert("Div Width: " + divID.clientWidth); 

这是一个演示

希望这可以帮助 :)

于 2013-04-10T05:07:17.847 回答