1

私はjQueryの専門家ではありません。クリックした最初の要素を.arrow別のコンテンツに置き換え、もう一度クリックすると元のコンテンツに戻り、最も近いliタグを展開して折りたたむだけです。私はすでに理解しています。

重要クラスに複数の要素があり、クリックしたクラスに影響を与え.arrowたいだけです。.arrow

すべての助けをありがとう。

$(document).ready(function() {
    $('.arrow').click(function(){
        $(this).closest('li').find('ol:first').fadeToggle('slow', 'linear');
        // prevent default action
        return false;       
    }); 
});
4

2 に答える 2

0

.arrow要素にプレーン テキスト以外のテキストが含まれる可能性があり、一度に最大 1 つの.arrow要素がスワップ アウトされると仮定します。

var swapbuffer = <alternative_content>; // html fragment
//...

$('.arrow').click( function (eve) {
    var temp_html = swapbuffer;

    temp_html = swapbuffer;
    swapbuffer = $(this).html();
    $(this).html(temp_html);
    $(this).closest('li').find('ol:first').fadeToggle('slow', 'linear');

    // prevent default action
    eve.preventDefault;
    return false;       
});

「クリックされた最初の要素」という意味を指定していません.arrow-イベントがディスパッチされた最初のもの(コードはこのシナリオ用です)、またはクリックした要素またはシリーズの最初の後の字句上の最初のものを意味しますかクリックの数、またはまったく別の何か?提案がすでに役立つことを願っています。

イベント ハンドラーはクラスごとに定義されますが、コードはイベントを受け取る個々の要素に対してのみ実行されます。ネストされた.arrow要素がある場合は、デフォルト アクションをスキップするだけでなく、イベントの伝播を停止することもできます (使用するメソッドはeve.stopPropagation、ですeve.stopImmediatePropagation) 。 .

于 2013-08-06T00:27:31.683 に答える