0

私は本当にJqueryが初めてです。同じ機能を複数回使用するのに問題があります。FAQページを作ろうとしています。最初の FAQ は正しく機能しますが、2 番目の FAQ は機能しません。

<script> 
$(document).ready(function(){
   $("#flip").click(function(){
      $("#panel").slideToggle("slow");
   });
});
</script>

ここで関数を呼び出します

<body>

<div id="flip">How do I delete FAQ's?</div>
<div id="panel">I don't know</div>

<div id="flip"><h1>Why doesn't this work?</h1></div>
<div id="panel"><p>I still don't know</p></div>

</body>
4

2 に答える 2

1

次のような「で始まる」セレクターを使用できます

$("[id^=flip]").click(function(){//your code here})

「flip」で始まる ID を持つすべての要素に関数をバインドします。

于 2013-03-29T18:33:30.583 に答える
0

ID一意でなければならないため

次のように表示する必要があるパネルを指定するには、属性に関連付ける代わりにクラスを使用します。

<div class="flip" target="panelA">How do I delete FAQ's?</div>
<div class="panel" id="panelA">I don't know</div>

<div class="flip" target="panelB"><h1>Why doesn't this work?</h1></div>
<div class="panel" id="panelB"><p>I still don't know</p></div>

<script> 
$(document).ready(function(){
   $(".flip").click(function(){
      $('#' + $(this).attr('target')).slideToggle("slow");
   });
});
</script>
于 2013-03-29T18:28:53.533 に答える