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

显然,您需要为每个clone重复该操作。我在 Mac 上,无法测试 IE,但希望这会有所帮助。看看下面的小提琴,虽然它没有抓住外层HTML。

小提琴

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 回答