使用jQuery只创建一个div

时间:2015-11-11 15:48:12

标签: jquery

我用jQuery创建一个div。它运行良好,但每次用户单击按钮时,它会创建一个新的div。我想用唯一ID创建只有一个 div。我该如何控制?

此处测试:http://jsfiddle.net/g4978v4h/

JQUERY:

ThreadLocal

HTML:

$("#button").click(function() {
    $('<div></div>').attr('id', 'red').insertAfter("#button");
}); 

4 个答案:

答案 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是否已存在

http://jsfiddle.net/g4978v4h/1/

答案 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");

        }
    });