我下载了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>
答案 0 :(得分:1)
不确定你要做什么,但看起来好像你想要添加从a中点击的项目并将其放入b然后将其从a中删除?
$('#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');
});