我有一个div
<div id="s1">s1</div>
JQuery可以检查ID并创建div BUT的副本,并将1更改为下一个数字吗?
答案 0 :(得分:4)
$("#s1").clone().attr("id", "s2").insertAfter("#s1");
答案 1 :(得分:1)
您可以使用jquery的clone
功能。
var clone = $("#s1").clone();
但是,ID仍然相同,但您可以明显改为:clone.attr({"id":"s2"});
答案 2 :(得分:1)
此代码的目标是创建一个不断推进的索引,该索引使用全局sIndex
变量,该变量在克隆每个div时递增。这允许不断进步的数字。
如果您在复制时不想要上一个div的内容,请尝试clone(false)
。
var sIndex = 1;
function cloneSDiv() {
var parent = $("#s" + sIndex);
var clone = parent.clone();
sIndex++;
clone.attr("id", "s" + sIndex).insertAfter(parent);
}
$(document).ready(function() {
$('.eventSelector').click(function() {
cloneSDiv();
});
});
答案 3 :(得分:0)
这是一个没有使索引全局化的解决方案(这是问题中你要求的全部内容)。它获取并克隆div,检查id,并将其递增到下一个。不知道你是如何计划获得div的,所以如果你正在做其他事情,那么重要的东西就在每个函数中。
$("div").each(function() {
$(this).clone().attr("id", "s" + (parseInt($(this).attr("id").replace("s","")) + 1)).insertAfter("#s1");
});