我是jquery的新手,我试图添加然后删除一个div类。首先,我在点击div时使用addClass();
添加类名,然后我想通过单击链接将其删除。这是我到目前为止编写的代码,但它不起作用。
https://jsfiddle.net/j2tsk90k/1/
我做错了什么?
HTML:
<div class="block yellow expandable skewX">
<div>Test</div> <span id="transp">
<a id="close">close</a>
</span>
</div>
JS:
$('.expandable').on('click', function () {
$(this).addClass('fullscreen');
});
$('#close').click(function () {
$('.expandable').removeClass('fullscreen');
});
注意:
提前致谢
答案 0 :(得分:5)
这是因为在子点击时触发了父事件。您需要停止事件传播到子元素:
$('#close').click(function (e) {
e.stopPropagation()
$('.expandable').removeClass('fullscreen');
});
<强> Working Demo 强>
答案 1 :(得分:0)
您的问题是#close
是.expandable
的孩子。因此,当您单击#close
时,.expandable
上的点击监听器也会被触发(这意味着您将该类删除后直接将其添加回来)。
要解决您的问题,您应该确保您的结算项目不是开场项目的孩子。