如果在JS或CSS中没有指定该属性,我如何找到JS样式属性的值?

时间:2013-04-10 04:35:26

标签: javascript css properties center

如果未在 JS CSS 中的任何位置指定该属性,如何找到 JS 样式属性的值?仅 JS 。请不要 JQuery 或其他图书馆。

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

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

div 宽度当然会因为里面的文字大于0像素,但它会小于宽度整条线,因为它浮在左边。 div 的宽度足以容纳所有内容,但我无法弄清楚 width 是什么,因为我从未指定过它。例如,尝试此代码:

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

...将返回一个空字符串,因为从未指定 width 。有没有办法,在页面加载和元素渲染后,用 JS 检索 div 的计算/演示/实际宽度强>

顺便说一下,我可能会告诉你,我试图将几个容器放在上面的例子中的随机文本中,并在同一行上居中。我认为他们必须是 divs ,因为我需要操纵 margin 属性来将它们分开(这不能通过 span 来完成)。并且为了强制 divs 到同一条线上,它们必须浮动。但问题变得浮动元素不响应中心标记或 CSS text-align 属性。因此,集中容器的唯一剩余方法是为其容器(超级容器)提供 width 并将其 CSS margin 属性设置为自动。但我不知道如何设置超级容器的 width ,因为内部容器中的文本会有所不同。所以我认为最好的做法是弄清楚每个内部容器的计算宽度是什么,并将所有 widths 相加得到 width < / em>超级容器。但如果你看到这种思路存在缺陷,或者更容易做到这一点,请随意指出。

欢迎所有建议。感谢。

1 个答案:

答案 0 :(得分:0)

获取div宽度所需的全部内容为divID.clientWidth,如下所示:

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

这是demo

希望这会有所帮助:)