无法删除JavaScript隐藏的类

时间:2014-02-17 10:43:32

标签: javascript jquery html css

我想在加载时隐藏div并在单击按钮时显示它,但我得到的是div只显示一会儿并再次隐藏。我是否正确使用CSS类,或者display:none;是否有任何特殊之处?

HTML


<div id="message">
    <div class="item-user hid">
        <a href="">something</a> 
    </div>

    <a class="btn-user" href="">button</a>
</div>


CSS


.hid {
    display: none; 
}


JS


<script>
    //jquery is loaded already

    $(document).ready(function(){

        $('#message .btn-user').click(function(){
            $('#message .item-user').removeClass('hid');
        });

    });
</script>

3 个答案:

答案 0 :(得分:6)

您需要使用e.preventDefault()来阻止锚点的默认操作:

$('#message .btn-user').click(function(e){
    e.preventDefault();
    $('#message .item-user').removeClass('hid');
});

<强> Fiddle Demo

答案 1 :(得分:2)

使用此http://jsfiddle.net/3Cp75/

<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

链接http://jsfiddle.net/3Cp75/1/

答案 2 :(得分:2)

将您的锚标记“href”attr更新为“javascript:void(0);”。这将阻止默认操作,并让它使用javacript管理操作。

或者你可以选择

event.preventdefault()

这也是一样,但你将在javascript函数中处理动作。