Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery clone从何处获取这些样式规则?_Jquery_Styles_Clone - Fatal编程技术网

jQuery clone从何处获取这些样式规则?

jQuery clone从何处获取这些样式规则?,jquery,styles,clone,Jquery,Styles,Clone,这不是我的确切代码,而是相关部分: <div id="myDiv" class="class1 class2" style=""> ... other elements ... </div> 这是正确的-唯一的问题是克隆的div以某种方式获得了原始版本中没有的样式属性: <div id="myDiv" class="class1 class2" style="overflow: hidden; height: 1px; padding-top:

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

<div id="myDiv" class="class1 class2" style="">
   ... other elements ...
</div>
这是正确的-唯一的问题是克隆的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>

... 其他元素。。。

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

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

您可以查看相关帖子:


可以通过一些
javascript
jQuery
进行样式化

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

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

你能告诉我你的全部代码吗?克隆时没有添加样式,这可能是克隆具有id属性的元素的一些奇怪的副作用。id应该是唯一的,你克隆了一个具有id属性的元素,这违反了这个规则。@jake-不过,我在DOM中从来没有两个元素具有相同的id。我将其克隆到一个变量中,然后替换原来的变量,因此只有一个id为的元素。@muthu-我也无法在JSFIDLE中复制错误。。。代码太复杂,无法在这里发布,我想我是在寻找其他可能导致它的东西的指针。看看是否有人遇到过这个问题,这基本上就是我在文章最后一行提到的“黑客”所做的。。。我只是想知道是否有什么方法可以阻止它的发生,或者至少可以理解它是从哪里来的
clonedDiv = $('#myDiv').removeAttr('style').clone(true);
//---------------------^^^^^^^^^^^^^^^^^^^---------remove the attr then clone it.