如何使用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;