如何在jquery中克隆和放置两个不同的项目在各自的位置
How to clone and place two different items in jquery in the respective positions
我有一个div和一个按钮来关闭该div。我分别克隆它们并为它们分配一个唯一的递增id。一切都在工作,克隆发生了,按钮关闭了Div。我有一个问题,虽然关于按钮的位置。我希望按钮始终在相同的位置,参考其克隆的div。任何想法如何做到这一点?
HTML<a href="#" class="button" onclick="hideDiv(this)" id="btn">X</a>
<div id="id"></div>
<a href="#" onclick="duplicateDiv()">Add</a>
Javascript function duplicateDiv(){
$('#btn').clone().attr('id', 'btn'+ cloneCount2++).insertBefore($('[id^=id]:first'));
$('#id').clone().attr('id', 'id'+ cloneCount++).insertAfter($('[id^=id]:first'));
//clearing the input items in the new cloned div
$("#id").find("input").val("");
}
function hideDiv(obj){
var currentId = $(obj).attr('id');
var divId = currentId.replace("btn", "id");
$("#"+divId).hide();
$("#"+currentId).hide();
}
如果正确解释问题,请尝试使用.appendTo()
, .insertAfter($("#btn" + cloneCount))
var cloneCount = 0, cloneCount2 = 0;
function duplicateDiv() {
//the close button
$("#btn")
.clone().attr("id", function(_, id) {
return id + (++cloneCount2)
})
.appendTo("body")
$("#id")
.clone().attr("id", function(_, id) {
return id + (++cloneCount)
})
.insertAfter($("#btn" + cloneCount))
//clearing the input items in the new cloned div
$("#id").find("input").val("");
}
function hideDiv(obj) {
var currentId = $(obj).attr('id');
var divId = currentId.replace("btn", "id");
$("#" + divId).hide();
$("#" + currentId).hide();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<a href="#" class="button" onclick="hideDiv(this)" id="btn">X</a>
<div id="id">div</div>
<a href="#" onclick="duplicateDiv()">Add</a>
其中一种方法是Jquery Offset
var destination = $('.original-content').offset(); // get position of original
$('.original-content').hide(); // hide original
$('.cloned-content').css({top: destination.top, left: destination.left}); // set position of cloned
相关文章:
- 如何使用仅显示/查看两个项目的甘特图
- Javascript 库,一次包含两个项目
- 请问JavaScript中的两个项目有什么区别
- 下划线.js,从一个对象中获取两个项目并添加到顶部
- Javascript localStorage unshift 数组在两个项目后停止追加
- Maven结合了两个项目
- 缩放两个项目
- 在同一集合中添加两个项目
- 下拉|材料设计|两个项目|重叠
- select2.js-如何在选项元素内对齐两个项目
- 筛选和比较两个项目的列表
- 猫头鹰旋转木马,一次滚动两个项目
- 如何排序json与两个项目
- 当两个项目被选中时创建一个效果
- . net WebApp中的下拉列表-是否可以在列表中的一个或两个项目下划下划线?
- 在两个项目之间共享组件,同时保留热加载
- 在图像和标尺之间对齐两个项目
- jQuery类选择器-我可以瞄准两个项目
- Ember.js:View在呈现前两个项目后停止更新
- 一个容器中两个项目的延迟效应自动化