0

div のクローンを作成してコンテナー div に追加しようとしています。私が持っているソリューションは Chrome では問題なく動作しますが、IE ではまったく動作しません。私はこれを調査しようとし、この問題について尋ねましたが、実際に機能する解決策を見つけることができませんでした. 誰か提案はありますか?これは私がこれまでに持っているものです

htmlはこのように見えます

<div class="holdOne"></div>
<div class="holdTwo"></div>
<div class="holdThree"></div>

<div class="productHolder">
    <div class="product"></div>
    <div class="product"></div>
    <div class="product"></div>
    <div class="product"></div>
    <div class="product"></div>
    <div class="product"></div>
</div>

jquery

$(function() {
    $('.productHolder .product').eq(0).clone().appendTo('.holdOne');
    $('.productHolder .product').eq(1).clone().appendTo('.holdOne');
    $('.productHolder .product').eq(2).clone().appendTo('.holdOne');

    $('.productHolder .product').eq(1).clone().appendTo('.holdTwo');
    $('.productHolder .product').eq(2).clone().appendTo('.holdTwo');
    $('.productHolder .product').eq(3).clone().appendTo('.holdTwo');

    $('.productHolder .product').eq(0).clone().appendTo('.holdThree');
    $('.productHolder .product').eq(5).clone().appendTo('.holdThree');
    $('.productHolder .product').eq(4).clone().appendTo('.holdThree');
});
4

1 に答える 1

1

バグでしょうか?IE バグの jQuery .clone() .html()

おそらく、を捨ててclone()、要素のhtml()値を使用するだけでうまくいくでしょうか? ただし、少し面倒です。

var dummy = $('.productHolder .product').eq(0);
$('.holdOne').append(dummy.html());

明らかに、クローンごとにそれを繰り返す必要があります。私は Mac を使用していて IE をテストできませんが、役に立てば幸いです。以下のフィドルを確認してください。ただし、outerHTML は取得されません。

フィドル

http://jsfiddle.net/URKq5/1/


編集

外側の HTML に役立つ別の SO 投稿を見つけました。これは、元々持っていたものとよりインラインにするのに役立ちます。

$('.holdOne').append($('.productHolder .product').eq(0)[0].outerHTML);

新しいフィドル

http://jsfiddle.net/URKq5/3/

そうリンク

jQuery: 外側の html()

于 2013-03-29T02:56:57.427 に答える