2016-08-13 105 views
0

我想获得当前应用于克隆元素的字体大小,但是当我使用jQuery .css函数时,它不会检索任何内容。jQuery:在克隆的元素上使用.css来获取特定的css属性?

是不是可以在jQuery中使用“.css”函数从克隆的元素中检索特定的css属性?

下不起作用:

var clonedElement = jQuery('.element').clone(); 
clonedElement.attr("style", ""); 
var defaultFontSizeValue = clonedElement.css('font-size'); 
console.log(defaultFontSizeValue); 

编辑1 原来的不幸有内嵌样式不允许我获得重写字体大小属性为通过应用该元素类。这就是为什么我试图通过删除克隆中的内联样式来检索原始值。

+0

你能不能在克隆之前获得原始属性? – Scott

+0

不幸的是,我不能这样做,因为我试图获取重写的CSS属性,因为原始内嵌样式应用于它。 – Dmitri

回答

1

你的问题是克隆的元素没有“附加”到你的dom中,因此这个元素没有样式定义(基于不是内联的css)。

你可以做的是克隆的元素添加到body(设置display: hidden后,如果你想),然后检查字体大小:

$(function() { 
 
    console.log($('.c1').css('fontSize')); 
 
    c1 = $('.c1').clone(); 
 
    console.log(c1.css('fontSize')); 
 
    
 
    c1.css('display', 'none'); 
 
    $('body').append(c1) 
 
    console.log(c1.css('fontSize')); 
 
});
.c1 { 
 
    font-size: 12px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="c1">asd</div>

+0

谢谢!那就是诀窍! – Dmitri