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

标签 javascript jquery css clone

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

难道不能使用 jQuery 中的“.css”函数从克隆的元素中检索特定的 css 属性吗?

以下不起作用:

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

编辑 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>

关于javascript - jQuery:在克隆元素上使用 .css 来获取特定的 css 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38928408/

相关文章:

css - Angular如何在不向父组件中的td元素添加样式的情况下将子组件定位在中心

c# - 通过带有 XML 的 JavaScript 的 WCF 服务 - 数组参数

javascript - React Native - React.createElement 不是函数

html - 基于背景的边框颜色

jquery - 页脚始终在底部不显示 :fixed

javascript - 如果文本输入为空或非则启用/禁用 “select”

css - 适用于 Gitbook markdown 的 CSS 选择器名称是什么?

触发python脚本的Javascript事件

javascript - 如何从node.js中的/数量中分割字符串?

javascript - 如何将值从 Jquery 传递给 Angular Js?