我创建vml元素v:shape,添加样式和属性,然后追加它。
var shape = document.createElement("v:shape");
//some attrs
shape.setAttribute("coordorigin", "0 0");
shape.setAttribute("coordsize", w + " " + h);
shape.setAttribute("stroked", "false");
//...
//some styles
shape.style.position = "absolute";
shape.style.top = 0 + "px";
shape.style.left = 0 + "px";
shape.style.width = w + "px";
shape.style.height = h + "px";
//...
$(element).append(shape);
我想将相同的形状添加到另一个地方
var shape2 = $(shape).clone(true);
但它只克隆样式
alert(shape2.css("position")); // absolute
alert(shape2.attr("coordsize")); // undefined
我做了什么?请帮帮我)
的 [编辑]
谢谢你的回答)对我来说很奇怪......我注意到当我将var element = document.createElement("p");
附加到元素上时它会起作用但是我通过$(selector).each(function(index, element) {
得到了我的元素即使我将它附加到身体它不起作用(
答案 0 :(得分:0)
如果我假装缺失值,它对我有用:http://jsfiddle.net/JAAulde/hKCHX/1/(在Safari,Chrome和Firefox中尝试过)
答案 1 :(得分:0)
来自文档?
.clone([withDataAndEvents])
withDataAndEvents - 一个布尔值指示 是否应将事件处理程序与元素一起复制。
.clone([withDataAndEvents] [,deepWithDataAndEvents])
withDataAndEvents - 一个布尔值,指示事件处理程序和数据 应该与元素一起复制。
默认值为false。
deepWithDataAndEvents - 布尔值 指示事件处理程序和所有子项的数据 应该复制克隆元素。默认情况下,其值与。匹配 第一个参数的值(默认为false)。
使用clone(true)
也会复制事件处理程序和数据。
这是您的确切代码(略有更改)的小提琴,可以正常使用FIDDLE
您确定正确定义了w
,h
和element
变量,因为w
undefined
会导致您收到错误吗?