0

これは、jQuery の第一人者への簡単な質問です。

ここで見つけることができる仕事のフィドル

ご覧のとおり、 のコンテナがありid="hideme"ます。link2これをクリックしidて非表示にしたいのですが、クリックするlink1link3再び表示される必要があります。

だから私はそれがなければならないと思った } ELSE {のですか、それともjQueryでは不可能ですか?

$('#link2').click(function(){
    if(jQuery('#link2').data('clicked')) {
        $('#hideme').hide();
    } else {
        $('#hideme').show();
    };
});
4

5 に答える 5

0

jQuery はイベント バインディングにおいて非常にトンネル ビジョン化されているため、このように else ステートメントを使用する必要はありません。いくつかのイベントをいくつかの要素にバインドすると、それが起こります。別のケースで別のイベントを発生させたい場合は、そのように定義するだけです。そうは言っても、次のようにjQueryでjavascriptステートメントを使用できます。

if(x = 0)
{
    $("div").hide();
} 
else
{
    $("div").show();
}

ただし、この例では、外部変数に対して論理演算子を使用しています。イベントをバインドする場合、これはまったく不要です。toggle() 機能を見てみてください。簡単な例を次に示します。

$("#id").click(function() {
    $("#MyDiv").toggle();
});
于 2013-04-15T17:56:16.753 に答える
0

clickイベントをすべてのリンクにバインドし、 で条件を適用する必要がありますhandler

ライブデモ

$('[id^=link]').click(function () {    
    if (this.id == 'link2') $('#hideme').hide();
    else if (this.id == 'link1' || this.id == 'link2') $('#hideme').show();
});
于 2013-04-15T17:51:03.213 に答える