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

发布于 2024-10-21 04:21:24 字数 128 浏览 2 评论 0原文

我的 HTML 中有一个 textarea 。我需要获取整数或浮点形式的填充数值(以像素为单位)。我如何使用 JavaScript 获取它?我没有使用 jQuery,所以我正在寻找纯 JavaScript 解决方案。

I have a textarea in my HTML. I need to get the padding numerical value in pixels as either integer or float. How can I get it using JavaScript? I am not using jQuery, so I'm looking for pure JavaScript solutions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戈亓 2024-10-28 04:21:24

这将返回 padding-left 值:

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

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

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

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

进一步阅读:https://developer.mozilla.org/en- US/docs/Web/API/Window/getComputedStyle


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

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

上面的方法在 IE6-8 中有效。

This will return the padding-left value:

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

where txt is the reference to your TEXTAREA element.

The above works in all modern browsers and in IE9. However, it does not work in IE8 and below.

Live demo: http://jsfiddle.net/simevidas/yp6XX/

Further reading: https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle


Btw, just for comparison, this is how you get the same job done using jQuery:

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

The above does work in IE6-8.

烙印 2024-10-28 04:21:24

经过搜索,我找到了这个资源 做你想做的事。

他们希望您添加一个 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 都是内联的,那么这个解决方案会更干净:

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

After a search, I found this resource to do what you're looking to do.

They want you to add a javascript function:

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;
}

And then call the function like this to obtain the particular style:

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

Where "container" is the id of the element and "font-size" is the property name. If you can guarantee that all the CSS on the element will be inline then this solution would be cleaner:

document.getElementById("container").style.paddingRight;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文