0

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) {_仕事(

4

2 に答える 2

0

ドキュメントから?

.clone( [withDataAndEvents] )

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

.clone( [withDataAndEvents] [, deepWithDataAndEvents] )

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

デフォルト値は false です。

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

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

これは、うまく機能する正確なコード(マイナーな変更を加えた)のフィドルですFIDDLE

whおよびelement変数を正しく定義したと確信していますwundefined?

于 2012-05-03T17:58:17.293 に答える
0

不足している値をダミーにするとうまくいきます: http://jsfiddle.net/JAAulde/hKCHX/1/ (Safari、Chrome、および Firefox で試しました)

于 2012-05-03T17:43:38.103 に答える