如何使用 Javascript 获取 CSS 宽度值?

发布于 2024-09-30 16:20:10 字数 568 浏览 3 评论 0原文

我正在尝试计算元素的宽度,以便当我使用 JavaScript 将父元素包裹在其周围时,我可以将父元素的宽度设置为与子元素的宽度相匹配。明显的 $('#element').css('width'); 并不完全是我想要的,因为它似乎只返回以像素为单位的计算值。有什么方法可以返回实际的 CSS 值(无论是 300px20%auto),而不是计算值?

一般情况下是这样设置的,但我想知道 #child 的 CSS 值而不是计算值。

$(document).ready(function(){
    $('#child').wrap('<div id="parent"></div>');
    $('#parent').each(function(){
        var childWidth = $(this).children('#child').css('width');
        $(this).css('width', childWidth)
    });
});

I'm trying to calculate the width of an element so that when I use JavaScript to wrap a parent element around it, I can set the width of the parent to match the width of the child. The obvious $('#element').css('width'); isn't quite what I want because it only seems to return the calculated value in pixels. Is there some way that I can return the actual CSS value, whether it be 300px or 20% or auto, instead of the calculated value?

Here's generally how it's set up, but I'd like to know the CSS value of #child instead of the calculated value.

$(document).ready(function(){
    $('#child').wrap('<div id="parent"></div>');
    $('#parent').each(function(){
        var childWidth = $(this).children('#child').css('width');
        $(this).css('width', childWidth)
    });
});

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

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

发布评论

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

评论(3

傲娇萝莉攻 2024-10-07 16:20:10

我不相信你能做到这一点。最好的结果是 offsetWidth 或 clientWidth,它们返回计算值,包括或不包括边距、填充和边框。

I don't believe you can do that. The best you will get is offsetWidth or clientWidth which return the calculated value, with and without counting margins, padding and borders.

垂暮老矣 2024-10-07 16:20:10

除了 IE 之外,每个人都支持 window.getComputedStyle(element),您可以像这样使用它:

getComputedStyle($('#child')).width; // returns actual width of #child

不过,对 IE 没有帮助。

Everyone but IE supports window.getComputedStyle(element), which you can use like so:

getComputedStyle($('#child')).width; // returns actual width of #child

Doesn't help you with IE, though.

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