我想在加载时隐藏div并在单击按钮时显示它,但我得到的是div只显示一会儿并再次隐藏。我是否正确使用CSS类,或者display:none;
是否有任何特殊之处?
<div id="message">
<div class="item-user hid">
<a href="">something</a>
</div>
<a class="btn-user" href="">button</a>
</div>
.hid {
display: none;
}
<script>
//jquery is loaded already
$(document).ready(function(){
$('#message .btn-user').click(function(){
$('#message .item-user').removeClass('hid');
});
});
</script>
答案 0 :(得分:6)
您需要使用e.preventDefault()来阻止锚点的默认操作:
$('#message .btn-user').click(function(e){
e.preventDefault();
$('#message .item-user').removeClass('hid');
});
<强> Fiddle Demo 强>
答案 1 :(得分:2)
的
<div id="message">
<div class="item-user hid">
<a href="">something</a>
</div>
<a class="btn-user" href="">button</a>
</div>
为什么我们使用preventdefault :
**Prevent a submit button from submitting a form**
否则,如果你不想删除href
答案 2 :(得分:2)
将您的锚标记“href”attr更新为“javascript:void(0);”。这将阻止默认操作,并让它使用javacript管理操作。
或者你可以选择
这也是一样,但你将在javascript函数中处理动作。