如何使用JavaScript获取元素的填充值?

我在我的HTML中有一个textarea 。 我需要以像素为单位的整数或浮点数填充数值。 我怎样才能使用JavaScript? 我不使用jQuery,所以我正在寻找纯粹的JavaScript解决scheme。

这将返回padding-left值:

 window.getComputedStyle(txt, null).getPropertyValue('padding-left') 

其中txt是对您的TEXTAREA元素的引用。

上述工作在所有现代浏览器和IE9中。 但是,它在IE8及以下版本中不起作用。

现场演示: http : //jsfiddle.net/simevidas/yp6XX/

进一步阅读: https : //developer.mozilla.org/en/DOM : window.getComputedStyle


顺便说一句,只是为了比较,这是如何使用jQuery完成相同的工作:

 $(txt).css('padding-left') 

上面的工作在IE6-8。

search后,我发现这个资源做你想要做的事情。

他们希望你添加一个JavaScript函数:

 function getStyle(oElm, strCssRule){ var strValue = ""; if(document.defaultView && document.defaultView.getComputedStyle){ strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); } else if(oElm.currentStyle){ strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ return p1.toUpperCase(); }); strValue = oElm.currentStyle[strCssRule]; } return strValue; } 

然后调用这个函数来获得特定的样式:

 getStyle(document.getElementById("container"), "padding-right"); 

其中“container”是元素的id,“font-size”是属性名称。 如果你能保证元素上的所有CSS都是内联的,那么这个解决scheme将会更加清晰:

 document.getElementById("container").style.paddingRight;