2012-05-03 9 views
0

私はvml要素v:shapeを作成し、スタイルと属性を追加してから追加します。jquery.clone()要素のattrs

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

を同一の形状を追加したいが、それは私が何sholuld

alert(shape2.css("position")); // absolute 
alert(shape2.attr("coordsize")); // undefined 

だけのスタイルを複製し? )私を助けてくださいvar element = document.createElement("p");場合
[EDIT]あなたの答えのための おかげで)その私のために奇妙な...私は要素に追加したときにそれが動作することに気づいたが、私はそれを追加した場合でも$(selector).each(function(index, element) {で私の要素を取得しますそれが動作しない体に(

+0

'Node.cloneNode()'メソッドを試しましたか? –

+0

の作品はこちら:http://jsfiddle.net/GgVPU/ – noShowP

答えて

0

ドキュメントから

? .clone([withDataAndEvents])

withDataAndEvents - を示すブール値。イベントハンドラを要素とともにコピーする必要があるかどうかを示します。

.clone([withDataAndEvents] [、deepWithDataAndEvents])

withDataAndEvents - イベントハンドラとデータ の要素と一緒にコピーする必要があるかどうかを示すブール値。

デフォルト値はfalseです。

deepWithDataAndEvents - は、 クローン要素のすべての子のイベントハンドラとデータをコピーする必要があるかどうかを示します。デフォルトでは、その値は最初の引数の値 と一致します(デフォルトはfalse)。

clone(true)を使用すると、イベントハンドラとデータもコピーされます。ここで

だけで正常に動作します(マイナーチェンジ)あなたの正確なコードとフィドルだ FIDDLE

あなたはwはあなたがエラーを引き起こすundefinedであると、正しくwhelement変数を定義してもよろしいです取得 ?