删除jQuery中的事件不起作用
Remove event in jQuery not working
这是我的代码:
<div id="header">
<h2>Jump for Joy Sale</h2>
</div>
<div id="main">
<div class="guess-box"><img src="img/saina1.png" />
</div>
<div class="guess-box"><img src="img/saina1.png" />
</div>
<div class="guess-box"><img src="img/saina1.png" />
</div>
<div class="guess-box"><img src="img/saina1.png" />
</div>
</div>
<script>
$(document).ready(function() {
$(".guess-box").click(function() {
$(".guess_box p").remove();
var discount = Math.floor((Math.random() * 5) + 5);
var discount_msg = "<p>Your Discount is " + discount + "%</p>";
$(this).append(discount_msg);
}); //end click function
}); //end doc ready
</script>
这是我的小提琴。
当点击一张图片时,它会显示一个随机折扣,再次点击后应该会隐藏它,但它会一次又一次地显示折扣。我尝试使用remove事件,但它不起作用。
您针对p元素使用了错误的选择器。它应该是CCD_ 1
$(".guess-box").click(function() {
$(".guess-box p").remove();
var discount = Math.floor((Math.random()*5) + 5);
var discount_msg = "<p>Your Discount is "+ discount +"%</p>";
$(this).append(discount_msg);
});
此外,您应该只删除当前点击的p元素,并为其他元素保留:
$(".guess-box").click(function() {
$(this).find("p").remove();
.......
工作演示
发生这种情况是因为您说的是
$(this).append(discount_msg);
这将始终在末尾附加值。
什么时候你应该这样做
$(this).html(discount_msg);
这将删除现有的任何值,并用新的替换
注意:这也将删除图像。因此,您也应该在选择器中指定p标记
相关文章:
- JsFiddle上的鼠标事件不起作用
- 链接上的IE10 jquery句柄单击事件不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 单击事件不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- jQuery调用keyup事件不起作用
- 选择选项淘汰赛事件不起作用
- pixijs 鼠标关闭事件不起作用(任何版本)
- D3.js鼠标事件不起作用
- D3js 饼图单击事件不起作用
- j查询动画重置后事件不起作用
- jquery 1.7追加后点击事件不起作用
- 当我将位置更改为绝对时,画布精灵表和触摸事件不起作用
- 引导程序弹出窗口(bootbox)中的Javascript事件不起作用
- 在Javascript中动态添加列时,单击事件不起作用
- 敲除数据绑定=“;html:html,内部html点击事件不起作用
- 当元素在事件绑定后附加到DOM时,触摸事件不起作用