如何使用jQuery获取元素的所有计算样式?

hak*_*ina 13 jquery

我想复制元素的所有计算的css并将其应用于另一个元素.通过计算样式,我的意思是例如,如果元素的宽度是100%,但是它的父级宽度是200px,则元素计算的宽度将是200px.如何访问元素的所有这些样式?

hak*_*ina 13

在使用Majid的答案进一步研究之后,我发现Jquery的".css"方法也返回计算样式,并且更好,因为它解释了浏览器差异 http://api.jquery.com/css/

  • 是啊!傻我!为什么我试着把这个长长的路线拿到口中.故事的士气:在寻找其他地方之前,请务必检查您已有的工具. (2认同)
  • `$(element).css()` 返回以下内容: `TypeError: Cannot call method 'replace' of undefined` 它需要传递一个参数来获取该属性的计算样式,并且不返回计算样式。 (2认同)

Maj*_*our 9

使用计算机风格.这是一个简单的教程: Get Computed Style

至于jquery,它可以帮助您获得对source和target元素的引用并轻松应用css规则.假设您只对两个属性(宽度和高度)感兴趣,那么您可以使用以下代码:

var oSource = $('#source');
var sWidth  = document.defaultView.getComputedStyle(oSource, null).width;
var sHeight = document.defaultView.getComputedStyle(oSource, null).height;
$('#target').css('width', sWidth).css('height', sHeight);
Run Code Online (Sandbox Code Playgroud)