我正在尝试获取当前应用于克隆元素的字体大小,但是当我使用jQuery .css函数时,它不会检索任何内容。
是否无法使用" .css"函数在jQuery中从克隆元素中检索特定的css属性?
以下不起作用:
var clonedElement = jQuery('.element').clone();
clonedElement.attr("style", "");
var defaultFontSizeValue = clonedElement.css('font-size');
console.log(defaultFontSizeValue);
修改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>