jQuery删除克隆

时间:2013-12-18 06:01:23

标签: jquery

我下载了jquery食谱并在其中尝试了这些练习。但我在其中一个练习中遇到了问题

克隆代码正在运行,但下面没有.remove,根据食谱,.remove应该删除原始元素。

请帮助这些家伙,那个代码不再适用了吗?还是有新的语法?

这是代码:

HTML

<ul id="a">
    <li>list</li>
    <li>list</li>
    <li>list</li>
    <li>list</li>
</ul>
<ul id="b"></ul>

JavaScript的:

<script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">
    jQuery('ul#a li')
        .click(function(){alert('List Item Clicked')})
        .parent()
        .clone(true)
        .find('li')
        .appendTo('#b')
        .end()
        .end()
        .remove();
</script>

4 个答案:

答案 0 :(得分:1)

不确定你要做什么,但看起来好像你想要添加从a中点击的项目并将其放入b然后将其从a中删除?

Plunker

$('#a li').click(function() {
  alert('List Item Clicked')
  $(this).remove()
    .clone(true)
    .appendTo('#b');
});

或许你错过了另一个“.end()”

$('ul#a li')
    .click(function(){alert('List Item Clicked')})
    .parent()
    .clone(true)
    .find('li')
    .appendTo('#b')
    .end()
    .end()
    .end()
    .remove();

这将从a中获取所有项目,克隆它们,然后完全删除“a”。

答案 1 :(得分:1)

尝试删除代码中的end()然后尝试。 这是小提琴中的工作代码

jQuery('ul#a li')
    .click(function(){alert('List Item Clicked')})
    .parent()
    .clone(true)
    .find('li')
    .appendTo('#b')
     .end()
    .remove();

答案 2 :(得分:0)

这样可以正常使用...因为.end()使用list删除功能不适用于您.end() {{1}}功能关注

如果我们需要更旧的元素集,我们可以使用end()从堆栈中弹出集合 COURTESY BY JQUERY

您可以通过查看以下两个小提琴轻松理解

THIS是您的删除无法使用的地方

THIS是移除工作的地方

答案 3 :(得分:0)

选中此项,您可以从上方列表添加到下方,也可以从下方添加到上层 DEMO

HTML

<ul id="a">
    <li>list</li>
    <li>list</li>
    <li>list</li>
    <li>list</li>
</ul>
<hr />
<ul id="b"></ul>

JS

$('body').on("click","#a li",function() {

  $(this).remove()
    .clone(true)
    .appendTo('#b');
});

$('body').on("click","#b li",function() {

  $(this).remove()
    .clone(true)
    .appendTo('#a');
});