Jquery追加而不删除

Posted

技术标签:

【中文标题】Jquery追加而不删除【英文标题】:Jquery appending without removing 【发布时间】:2013-06-10 15:48:29 【问题描述】:

所以我需要从特定类中获取内容并将其放入一个 div 中,我使用 append 来......我的问题是 append 删除了我附加的项目,我需要它留在那里,这是我的代码:

$(document).ready(function()
    var $content = $('#popupcontent');
    var $window = $('#popupwindow');
    $('.open').click(function()
        //alert('runnning');
        var a = $(this).contents('span');
        $content.append(a);
        $window.fadeIn(300);
    );
    $('.close').click(function()
        //alert('running');
            var a = $content.contents('span');
        $window.fadeOut(300);
        $('#popupcontent span').remove();
    );
);

那么如何在点击时从每个 .open span 获取内容到 #popupcontents id 而不将其从 .open 类中删除?

向你展示我的意思:JSFIDDLE

注意:第二次单击链接时,它不会附加任何内容,因为该内容已从该类中删除,这不是我想要的

注意2:我不能简单地在$('.close').click 函数中只使用append 而不是remove,因为我无法检测到内容来自.open 类的哪个实例。

【问题讨论】:

【参考方案1】:

你需要克隆元素并追加克隆:

$('.open').click(function()
    //alert('runnning');
    var a = $(this).contents('span');
    $content.append(a.clone());
    $window.fadeIn(300);
);

Demo

【讨论】:

以上是关于Jquery追加而不删除的主要内容,如果未能解决你的问题,请参考以下文章

从当前 url 追加/删除锚名称而不刷新

如何在jquery中使用类追加和删除字段

Jquery元素追加和删除

Jquery元素追加和删除

JQuery中查找父元素,子元素,追加元素,插入元素和删除元素

Django ModelChoiceField - 通过 JQuery 选择选项而不删除选项