1

このコードを使用してスライド トグルを実行しますが、クリックしても開きません。

JS コード:

    <script type="text/javascript">
     $(document).ready(function () {
         alert('hi i came to toggle');
         $(".flip").click(function () {
             $(this).next().slideToggle("fast");
         });
     });

      function ViewGetSubjects(data) {
         var subjects = (typeof data) == 'string' ? eval('(' + data + ')') : data;
         $('#subjects').empty();
         for (var i = 0; i < subjects.length; i++)
          {
              $('#subjects').append('<h1 class = "flip">'+subjects[i].Wkp_lesson+'</h1><div class="panel" >' + ' Weekly Body: ' + subjects[i].Wkp_Body + ' Weekly Body: ' + subjects[i].Wkp_Body + ' Weekly Lesson: ' + subjects[i].Wkp_lesson + '</div>');
             }
      } 

CSS:

       div.panel,h1.flip
      {
         margin:0px;
         padding:5px;
         text-align:center;
         background:#488AC7;
         border:solid 1px #F6358A;
       }
     div.panel
     {
         height:120px;
         display:none;
     }

なぜなのかご存知ですか?

どうもありがとう :)

4

2 に答える 2

2

最新バージョンのjqueryを使用していない場合

 $(".flip").live('click', function(e){
     $(this).next().slideToggle("fast");
 });

それ以外の場合は

$("#subjects").on('click', 'h1.flip', function(e){
    $(this).next().slideToggle("fast");
});

(id = subjectを持つ要素)要素内に(DOMクラスh1名でflip)要素を動的に追加しているためです。#subjects

参照:オンおよびライブ(非推奨)

于 2012-04-07T23:13:23.923 に答える
1

私のコメントとは別に、jqueryライブラリを含めるのを忘れた可能性がありますか?

<script src="http://code.jquery.com/jquery-latest.js"></script>

これには、jquery.comから直接最新バージョンが含まれますが、コードをコピーして独自のファイルに保存することをお勧めします。

于 2012-04-07T23:09:57.833 に答える