Javascript 如何知道一个元素';宽度是绝对的还是相对的?
我正在编写一个javascript脚本,并在其上调整DOM元素的大小。但是我需要知道元素最初的大小是绝对的还是相对的Javascript 如何知道一个元素';宽度是绝对的还是相对的?,javascript,html,css,Javascript,Html,Css,我正在编写一个javascript脚本,并在其上调整DOM元素的大小。但是我需要知道元素最初的大小是绝对的还是相对的 对于corse,我可以读取它的clientWidth属性,但它总是返回一个绝对整数。我怎么知道它最初是否由CSS中的百分比指定?是否有任何CSS属性(可从javascript读取)包含原始宽度表达式?如果宽度值在标记内,则可以使用document.getElementById(“id”).style.width。但是,如果您的css位于标记样式中,那么您将使用jquery快速解决
对于corse,我可以读取它的
clientWidth
属性,但它总是返回一个绝对整数。我怎么知道它最初是否由CSS中的百分比指定?是否有任何CSS属性(可从javascript读取)包含原始宽度表达式?如果宽度值在标记内,则可以使用document.getElementById(“id”).style.width
。但是,如果您的css位于标记样式中,那么您将使用jquery快速解决问题,或者您将必须创建自己的函数来提取此值,例如:position\u prop=document.getElementById(id).style.position代码>请参阅。不确定是否为window.getComputedStyle(elm[,pseudoelement]),这将返回一个css样式列表,浏览器将其视为您所看到的样式(计算样式)。@sadiqevani谢谢。我尝试了window.getComputedStyle
,但它仍然在“宽度”和“高度”字段中始终返回绝对值。谢谢。在您发布的链接中,我看到了我需要的确切解决方案:Element.currentStyle
。不幸的是,它只在IE中工作。我想我必须向javascript函数添加额外的参数。