jquery隐藏隐藏并立即再次显示

时间:2013-02-07 07:54:44

标签: javascript jquery

jQuery正在为我做一些奇怪的事情:它只是不起作用并且只将div隐藏了一秒钟。我做错了什么?

有问题的代码,尽可能简单。

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Experiment</title>
<script type="text/javascript" 
           src="http://code.jquery.com/jquery.min.js"></script>
</head>
<body>
<script>

        function doHiding() {
           $("div.thread").each(function() {
                    $(this).hide();
           });
        }


</script>
<a href="" onClick="doHiding()">Hide</a>

<div class="thread">I like trains.</div>
</body>
</html>

我在Linux上使用Chromium。我看到div消失了一分钟,但它立刻再次出现。

4 个答案:

答案 0 :(得分:3)

 function doHiding() {
       $("div.thread").each(function() {
                $(this).hide();
       });
      return false;
    }

它没有再次隐藏它是正在刷新的页面,因为href=""链接到同一页面

注意:我猜你只是为了演示而使用onClick="doHiding()"(否则在jquery范围内处理你的事件)

答案 1 :(得分:1)

您可以尝试更改

<a href="" onClick="doHiding()">

<a href="#" onClick="doHiding()">

请参阅:http://jsfiddle.net/aVNuf/

答案 2 :(得分:0)

href="#"

本案的工作

答案 3 :(得分:0)

您可以在jquery click event中尝试instead doing it inline

http://jsbin.com/iseref/1/edit

HTML:


<a href="#">Hide</a>
<div class="thread">I like trains.</div>

jQuery的:


 $(function(){
    $('a').on('click', function(e){
     e.preventDefault();
     doHiding();
    });
 });
function doHiding() {
  $("div.thread").each(function() {
    $(this).hide();
  });
}