【问题标题】:cloning divs are not not working in IE using jquery clone()使用 jquery clone() 克隆 div 在 IE 中不起作用
【发布时间】:2013-03-29 02:26:44
【问题描述】:

我正在尝试克隆 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');
});

【问题讨论】:

  • 会发生什么?定义“不运行”。
  • 你的脚本中的fucntion也拼错了吗?这可能会妨碍它工作。
  • 这是您第三次发布此问题。它怎么不起作用?
  • @undefined- 这意味着我仍然找不到解决方案。不,不是第三次。这是我第二次添加更多信息以更具描述性。如果您对我的问题有什么要说的,欢迎您提供意见。
  • 这是第三次了,你已经删除了上一个。请在此处定义 不起作用 的含义。你有任何错误吗?哪个版本的IE? 5、6、7、8、9、10?

标签: javascript jquery


【解决方案1】:

可能是一个错误? jQuery .clone() .html() in IE Bug

所以也许放弃 clone() 并仅使用元素 html() 值可以工作吗?不过,这有点混乱。

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

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

小提琴

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


编辑

我发现了另一个可以帮助处理外部 HTML 的 SO 帖子。这应该有助于使其更符合您最初拥有的内容:

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

新小提琴

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

SO 链接

jQuery: outer html()

【讨论】:

  • @jace- 看起来它确实适用于 IE。但是让我在网站上尝试一下,看看是否有反应。是的,我同意这很混乱。我仍在尝试提出一种更好的方法,我可以将它们存储在一个数组中,然后将数组附加到一个 div 中
  • 我更新了我的答案,我找到了更好的方法。仍然不确定它是否可以在 IE 上运行,但祝你好运!请查看我的新小提琴并进行编辑。
  • 如果您觉得合适,请将此标记为答案!很高兴我能帮上忙!
猜你喜欢
  • 2014-02-21
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 1970-01-01
  • 2019-02-02
  • 1970-01-01
  • 2013-02-14
  • 2015-11-10
相关资源
最近更新 更多