如何使用jQuery一次附加一些东西?

时间:2015-12-10 22:51:29

标签: javascript jquery html append

我想在字符串的末尾添加Jack一次。怎么样?



$('button').click(function() {
  $('div').append('Jack');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div>My name is: </div>
<button>click</button>
&#13;
&#13;
&#13;

换句话说,当我点击那个按钮时,如果附加了Jack,那么没有任何反应,但如果Jack不存在,那么它会附加。

3 个答案:

答案 0 :(得分:1)

$('button').click(function() {
  $('div').html('Jack');
});

这将取代div中的任何内容

答案 1 :(得分:1)

使用jQuery的on()off()方法轻松控制事件侦听器何时处于活动状态。

添加onclick侦听器:

$("button").on("click", function(){});

删除侦听器:

$("button").off("click");

在您的情况下,您可以将off()函数调用放在on()函数回调的中。结果是一个匿名函数,只需单击一次即可运行一次,然后自行删除。

$("button").on("click", function(){
    $("div").append("Jack");
    $(this).off("click");
}

甚至更好,使用one(),每个元素只会触发一次。

$("button").one("click", function(){
    $("div").append("Jack");
}

答案 2 :(得分:1)

$('button').click(function() {
  var text = $('div').text();
  if(!/Jack/.test(text)){
     $('div').append('Jack');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div>My name is: </div>
<button>click</button>