gpt4 book ai didi

javascript - jQuery 在 clone() 上为输入和类添加唯一标识符

转载 作者:行者123 更新时间:2023-11-30 14:35:41 25 4
gpt4 key购买 nike

此代码动态地将唯一编号添加到每个项目的 id 中。我希望能够在每个新的 clone() 中为某些 classesid's 添加唯一标识符,而不仅仅是 .item 本身。

在这个片段中,我需要函数对 [data-input="checkbox0"][class="radio0"] 遵循相同的模式。

作为奖励,我希望只有一个 .add 按钮 clone() 新的 .items 而不是在里面每个 .item.

var rowNum = 0;
$("body").on("click", ".add", function() {
rowNum++;
var $item = $(this).parents('.item');
var next = $item.clone();
next.attr('id', 'item' + rowNum);
$item.after(next);
});
.item {
border: 2px solid;
height: 50px;
width: 50px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item" id="item0">
<label class="icon">
<input data-input="checkbox0" class="toggle" type="checkbox" name="toggle"/>
</label>
<label>
<input type="radio" class="radio0">
<div class="add">
<button type="button" class="addbtn">Add</button>
</div>
</div>

最佳答案

你可能想要这样的东西。

$("body").on("click", ".addbtn", function() {
var $item = $('.item').last();
var next = $item.clone();

// Gets last number dynamically, instead of saving it as global variable.
var rowNum = parseInt($item.attr("id").substr(4)) + 1;
next.attr('id', 'item' + rowNum).find("input[type='checkbox']").attr("data-input", "checkbox" + rowNum);
next.find("input[type='radio']").attr("class", "radio" + rowNum);
$item.after(next);
});
.item {
border: 2px solid;
height: 50px;
width: 50px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="item" id="item0">
<label class="icon">
<input data-input="checkbox0" class="toggle" type="checkbox" name="toggle"/>
</label>
<input type="radio" class="radio0" />
</div>

<button type="button" class="addbtn">Add</button>

关于javascript - jQuery 在 clone() 上为输入和类添加唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50458939/

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