从哪个jQuery克隆获取这些样式规则?

时间:2013-01-22 10:43:11

标签: jquery styles clone

这不是我的确切代码,而是相关部分:

<div id="myDiv" class="class1 class2" style="">
   ... other elements ...
</div>

我的jQuery代码克隆元素,然后最终用克隆替换原始元素:

clonedDiv = $('#myDiv').clone(true);
... some other code ...
$('#myDiv').replaceWith(clonedDiv);

这是正常的 - 唯一的问题是克隆的div以某种方式得到一个不是原始的样式属性:

<div id="myDiv" class="class1 class2" 
     style="overflow: hidden; height: 1px; padding-top: 0px; margin-top: 0px; padding-bottom: 0px; margin-bottom: 0px;">
   ... other elements ...
</div>

这是从哪里来的......?有什么办法可以预防吗? (我目前正在“黑客攻击”并明确地将其设置回空字符串。)

2 个答案:

答案 0 :(得分:1)

可能会通过某些javascriptjQuery设置样式。

如果要删除样式属性,请按以下方式执行:

clonedDiv = $('#myDiv').removeAttr('style').clone(true);
//---------------------^^^^^^^^^^^^^^^^^^^---------remove the attr then clone it.

答案 1 :(得分:0)

这些样式可能是浏览器添加的默认样式。看,所有的值都是0px。我不知道这些样式将如何在克隆元素中创建问题。

您可以查看相关帖子:

Browsers' default CSS stylesheets