如果不存在,如何在jquery中追加div元素

时间:2012-10-09 00:30:17

标签: javascript jquery ajax

我在表格底部的div框中添加了当前列表。 当有人点击添加按钮时,我会附加div框。

但是当我多次单击添加按钮时,会附加许多div框。

有没有办法,无论我点击按钮多少次,只有一个实例会附加到div框。

这是我的代码

$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);

2 个答案:

答案 0 :(得分:4)

使用.one()附加您的听众。

$("button").one('click', function(){
  // Your code
});

了解详情:http://api.jquery.com/one

这是假设您正在使用jQuery 1.7 +

答案 1 :(得分:0)

一个简单的解决方案是拥有一个布尔标志,您可以在单击按钮后切换。此外,实际上有一个jQuery函数可以提供这种确切的功能。

它被称为one() -

  

将处理程序附加到元素的事件。处理程序已执行   每个元素最多一次。

所以你的代码看起来像这样 -

$("#someTrigger").one('click', function(){
  $var = $(this).parent().parent();
  $var.append($('.jq_div')[0].outerHTML);
});

布尔方法也很简单 -

var wasClicked = false;

$("#someTrigger").on('click', function(){
  if (wasClicked == false){
    // append your form
    wasClicked = true;
  }
});

参考 -