【问题标题】:How to clone an element and append to a specific div?如何克隆元素并附加到特定的 div?
【发布时间】:2013-11-08 03:25:04
【问题描述】:

我有一个页面,其中包含几个图像缩略图,当单击它们时,它们会被克隆并附加到另一个元素中。我遇到的问题是我需要appendTo 的所有元素都具有相同的类。因此,如果我单击一个缩略图,它将附加到每个具有 view_full_img 类的元素上。这是我必须使用的 HTML。简单地用不同的类来定位这些对我来说是行不通的,这个 HTML 是由 Drupal 生成的。

<div class="view_full_img"></div>
<div class="thumbs">
    <div class="img blue"></div>
    <div class="img green"></div>
    <div class="img yellow"></div>
</div>

<div class="view_full_img"></div>
<div class="thumbs">
    <div class="img red"></div>
    <div class="img purple"></div>
    <div class="img orange"></div>
</div>

这是我的 jQuery..

$(".thumbs div").click(function(){
    $(".view_full_img div").remove();
    $(this).clone().appendTo(".view_full_img");
});

我想要发生的是,当我单击 .thumbs div 之一时,我希望它被克隆到它正上方的 .view_full_img div 中。我尝试过使用 closest() prev() parent() 等的组合,但就是想不出有用的东西。

这是一个 jsfiddle... http://jsfiddle.net/dmcgrew/UeTv6/

【问题讨论】:

    标签: javascript jquery jquery-traversing


    【解决方案1】:

    你需要parent(),然后是prev()

    $(".thumbs div").click(function () {
        $(this).parent().prev(".view_full_img").empty().append($(this).clone());
    });
    

    【讨论】:

      【解决方案2】:
      $(".thumbs div").click(function () {
          var t = $(this);
          t.appendTo(t.parent().prev(".view_full_img"));
      });
      

      Example

      【讨论】:

        猜你喜欢
        • 2015-06-22
        • 2012-02-01
        • 2014-12-01
        • 2015-01-23
        • 2013-01-26
        • 2011-07-25
        • 1970-01-01
        • 1970-01-01
        • 2019-04-29
        相关资源
        最近更新 更多