0

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

4 回答 4

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

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

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

于 2013-02-07T07:57:13.187 回答
1

你可以尝试改变

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

进入

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

见:http: //jsfiddle.net/aVNuf/

于 2013-02-07T08:04:36.103 回答
0

尝试

href="#"

它在这种情况下的工作

于 2013-02-07T08:07:08.027 回答
0

您可以尝试click event在 jquery 中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();
  });
}
于 2013-02-07T08:10:50.500 回答