jquery隐藏并立即再次显示

jquery hide hides and immediately displays again

本文关键字:显示 隐藏 jquery      更新时间:2023-09-26

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在瞬间消失了,但它立即又出现了。

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

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

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

您可以尝试更改

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

进入

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

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

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

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();
  });
}

尝试

href="#"

它在这种情况下的工作