我用jQuery创建一个div。它运行良好,但每次用户单击按钮时,它会创建一个新的div。我想用唯一ID创建只有一个 div。我该如何控制?
此处测试:http://jsfiddle.net/g4978v4h/
JQUERY:
ThreadLocal
HTML:
$("#button").click(function() {
$('<div></div>').attr('id', 'red').insertAfter("#button");
});
答案 0 :(得分:8)
ID为red
的div只能添加一次?
然后使用.one()
附加点击处理程序
$("#button").one("click", function() {
$('<div></div>').attr('id', 'red').insertAfter("#button");
});
答案 1 :(得分:2)
$('#red').length == 0 && $('<div></div>')
.attr('id', 'red')
.insertAfter("#button");
您可以尝试检查div是否已存在
答案 2 :(得分:1)
有很多方法可以做到这一点
例如,您可以声明一个全局变量并检查其计数var a = 1;
$("#button").click(function() {
if(a == 1)
{
$('<div></div>')
.attr('id', 'red')
.insertAfter("#button");
a = a+1;
}
});
如jsfiddle here
所示答案 3 :(得分:1)
您可以检查#red
是否不存在。 Jsfiddle
$("#button").click(function() {
if($('#red').length == 0 )
{
$('<div></div>')
.attr('id', 'red')
.insertAfter("#button");
}
});