こんにちは、私はjQueryのスライド効果でこの問題を抱えています。私が得たい効果は、質問をクリックすると答えがスライドダウンすることです。最初の質問では機能しますが、次のいくつかの質問では機能しません。ここに例へのリンクがありますhttp://jsfiddle.net/p8CLN/3/
$(document).ready(function(){
$("#question").click(function(){
$("#answer").slideToggle("slow");
});
});
私は本当にこれに困惑しています。
4 に答える
2
すべてのIDをクラスに変換し、クリック関数にコンテキストを与えます。
$(document).ready(function(){
$(".question").click(function(){
$(this).next(".answer").slideToggle("slow");
});
});
ここで更新されたフィドルを参照してください-http://jsfiddle.net/teddyrised/p8CLN/8/
于 2013-03-02T00:50:29.700 に答える
0
IDは一意である必要があります。
これが更新されたフィドルです。IDをクラス名に置き換え、.next()
適切な回答要素を取得するために使用しました。
于 2013-03-02T00:50:49.647 に答える
0
question
これは、IDがとの複数の要素を使用しているためですanswer
。jqueryは最初に見つかったIDの後でコレクションの構築を停止するため、IDは一意である必要があります。
私はあなたのフィドルを修正するために更新しました:
また、CSSを変更する必要がありnext('.answer')
、クリックされた質問に対する後続の回答のみにトグルをターゲットにするための使用法を追加したことに注意してください。
$(document).ready(function(){
$(".question").click(function(){
$(this).next(".answer").slideToggle("slow");
});
});
于 2013-03-02T00:52:36.597 に答える
0
複数の要素に同じ ID を指定します。ID は一意である必要があります。ドキュメントの準備ができたら。document.ready では、ソリューションとして次を使用できるクリック イベントをバインドできます。ここに例があります
$(document).ready(function()
{
$(".question").click(function()
{
$(this).next(".answer).slideToggle("slow");
});
});
于 2013-03-02T03:14:45.053 に答える