删除标记<a> and its attribute when click the button using jquery</a>

时间:2012-01-27 07:03:14

标签: jquery jquery-ui

我有一个按钮,当我点击按钮时,它会创建指向我图像的链接。这是我的代码:

$("#btn").click(function () {
var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
$('#img1').wrap($a);
});

问题:当我点击按钮时,链接会创建越来越多。 问题:虽然我多次单击按钮,但如何只创建链接。

我希望你能分享想法。感谢。

3 个答案:

答案 0 :(得分:2)

$("#btn").click(function () {
  if ($('#img1').parent('a.contact')) {
    return;
  }
  var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
  $('#img1').wrap($a);
});

答案 1 :(得分:2)

jQuery中有.one()函数,只为一次性操作启用处理程序(参见http://api.jquery.com/one/

$("#btn").one('click', function () {
    var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
    $('#img1').wrap($a);
});

答案 2 :(得分:0)

您可以使用计数器变量,该变量最初应为null。当您第一次单击该按钮时,计数器将增加。之后,您可以检查计数器值。如果它等于1,那么您可以使用jquery的stopPropagation()方法来停止该事件。

或者您可以使用jquery的preventDefault()方法来停止默认事件。

否则,您可以使用jquery的stopImmediatePropagation()方法立即停止当前事件。