gpt4 book ai didi

jquery - 单击.close 时如何使元素帮助可见?

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:27 25 4
gpt4 key购买 nike

我的代码 - Fiddle

// clone item
$(document).on('click', '.add-item', function() {

var lastItem = $(this).parents('.container').find('.item-origin').last();
$(this).parents('.item-help').hide();

var newItem = lastItem.clone().insertAfter(lastItem);

});

// close item
$(document).on('click', '.close', function(e) {
e.preventDefault();

$(this).closest('.item-origin').remove();

$('.item-help').each(function() {
if ($(this).is(':hidden')) {
$(this).show();
}
});

});
.row {
display: flex;
padding: 15px;
border: 1px solid #ccc;
}

.item {
border: 1px solid #ccc;
padding: 15px;
width: calc(100% / 3);
text-align: center;
}

label {
display: inline-block;
vertical-align: top;
margin-bottom: 10px;
}

label+label {
margin-left: 15px;
}

.item {
position: relative;
}

.close {
position: absolute;
top: -10px;
right: 0;
color: #fff;
background: #f00;
font-size: 10px;
padding: 5px;
}

.item:first-of-type .close {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="row">
<div class="item item-origin">
<a href="javascript:void(0)" class="close">Close</a> Block origin
</div>
<div class="item item-help">
<a href="javascript:void(0)" class="add-item">Add Item 2</a>
</div>
<div class="item item-help">
<a href="javascript:void(0)" class="add-item">Add Item 3</a>
</div>
</div>
</div>

当我单击Add Item 2Additem 3 时,使 block item-help 不可见

当点击克隆元素的.close时,只出现一个 block

最多可以是三个 block 。

现在如此(4 block ) enter image description here

如何正确实现?

据我了解最有可能出现在这段代码中的问题

$('.item-help').each(function() {
if ($(this).is(':hidden')) {
$(this).show();
}
});

我很乐意提供任何帮助

感谢

最佳答案

试试这个...我改变了新的元素插入位置和关闭按钮点击功能

$(document).on('click', '.add-item', function() {

var lastItem = $(this).parents('.container').find('.item-origin').last();
$(this).parents('.item-help').hide();

var newItem = lastItem.clone().insertBefore($(this).parents('.item'));

});

// close item
$(document).on('click', '.close', function(e) {
e.preventDefault();

$(this).closest('.item-origin').next().show();
$(this).closest('.item-origin').remove();


});
.row {
display: flex;
padding: 15px;
border: 1px solid #ccc;
}

.item {
border: 1px solid #ccc;
padding: 15px;
width: calc(100% / 3);
text-align: center;
}

label {
display: inline-block;
vertical-align: top;
margin-bottom: 10px;
}

label+label {
margin-left: 15px;
}

.item {
position: relative;
}

.close {
position: absolute;
top: -10px;
right: 0;
color: #fff;
background: #f00;
font-size: 10px;
padding: 5px;
}

.item:first-of-type .close {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="row">
<div class="item item-origin">
<a href="javascript:void(0)" class="close">Close</a>
Block origin
</div>
<div class="item item-help">
<a href="javascript:void(0)" class="add-item">Add Item 2</a>
</div>
<div class="item item-help">
<a href="javascript:void(0)" class="add-item">Add Item 3</a>
</div>
</div>
</div>

关于jquery - 单击.close 时如何使元素帮助可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com