jQuery:在克隆元素上使用.css来获取特定的css属性?

时间:2016-08-13 01:41:10

标签: javascript jquery css clone

我正在尝试获取当前应用于克隆元素的字体大小,但是当我使用jQuery .css函数时,它不会检索任何内容。

是否无法使用" .css"函数在jQuery中从克隆元素中检索特定的css属性?

以下不起作用:

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

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

1 个答案:

答案 0 :(得分: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>