0

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

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

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

4

2 回答 2

1

这可能通过 some javascriptor来设置样式jQuery

如果要删除样式属性,请这样做:

clonedDiv = $('#myDiv').removeAttr('style').clone(true);
//---------------------^^^^^^^^^^^^^^^^^^^---------remove the attr then clone it.
于 2013-01-22T10:50:24.093 回答
0

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

您可以查看相关帖子:

浏览器的默认 CSS 样式表

于 2013-01-22T10:47:21.067 回答