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

click eventjquery で試すことができます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 に答える
0

試す

href="#"

この場合の作業

于 2013-02-07T08:07:08.027 に答える