2016-10-10 10 views
1

マウスをクリックすると、リンクを非表示にして別のdivを表示する必要があります。マウスクリックでリンクを非表示にして表示

<div class="fetch-from-link"> 
<a href="#" class="test" onClick="$(this).parent().hide();"> 
    Fetch from link 
</a> 

<div class="hello">Hello world</div> 
</div> 

単純な隠蔽方法を使用しています。しかし、リンクの後に私の "こんにちは" divを表示するにはどうすればいいですか?

+0

クリックする必要がある要素を非表示にすると、ユーザーはどのように表示すると思われますか? – nem035

+0

Hello Worldを含むdivを隠しています。 jqueryで親divを非表示にすると、そこから移動したり、移動したりすることができます。 –

答えて

1

次のコードを使用することができます:あなたはDを移動する必要があります

$(function() { 
 
    $('.test').click(function() { 
 
    $('.test').hide(); 
 
    $('.hello').show(); 
 
    }); 
 
})
.hello { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
    <a href="#" class="test">Fetch from link</a> 
 
    <div class="hello">Hello world</div> 
 
</div>

+0

この同じリンクをクリックすると、別の要素を非表示にするにはどうすればよいですか? – Janath

+0

この行を複製します$( '。test')。hide();セレクタを変更します(.testではなく、要素に一致するセレクタを使用します)。 – Sebastian

3

jQueryは、醜いインラインクリックハンドラの代わりにイベントハンドラをバインドするために使用されるため、

現在の要素はhide()、次にClass Selector ('.hello')を使用して他のdivを表示する必要があります。現在のHTMLを1として

jQuery(function($) { 
 
    $('.test').click(function(e) { 
 
    e.preventDefault(); 
 
    $(this).hide(); 
 
    $('.hello').show(); 
 
    }) 
 
});
.hello { 
 
    display: none 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
    <a href="#" class="test">Fetch from link</a> 
 
    <div class="hello">Hello world</div> 
 
</div>


、あなたはマッチした要素の集合の各要素の直後の兄弟を取得します.next()

を使用することができます。セレクタが提供されている場合は、そのセレクタに一致する場合にのみ次の兄弟を取得します。

jQuery(function($) { 
    $('.test').click(function(e) { 
     e.preventDefault(); 
     $(this).hide().next().show(); 
    }) 
}); 
+1

私は '$(this).hide()。next()。show()'がより良いと短くなると思います。 – Mohammad

+0

この同じリンクをクリックすると別の要素を非表示にすることはできますか? – Janath

+0

@CssSY、はいできます – Satpal

1

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
<a href="#" class="test" onClick="$(this).parent().hide();$('.hello').show();"> 
 
    Fetch from link 
 
</a> 
 

 

 
</div> 
 
<div class="hello" style="display: none; ">Hello world</div>

をあなたがあなたの "Hello world"テキストを含むdivを隠しているので、外側にiv。

1
<div class="fetch-from-link"> 
<a href="#" class="test" onClick="$(this).hide().siblings('.hello,.second-class,.third-class').show();"> 
    Fetch from link 
</a> 

<div class="hello">Hello world</div> 
</div> 

あなたは両方の要素を含むdiv全体を隠しています。リンクを非表示にする。

+0

別の2つ、3つの要素を非表示にする場合は、クラスを変更するコードを繰り返す必要がありますか、これを行うための組み合わせ方法はありますか? – Janath

+0

あなたは非表示にするすべての兄弟要素のために一度に複数のクラスを指定できます –

+0

素晴らしい!この同じリンクをクリックすると別の要素を非表示にすることは可能ですか? – Janath

関連する問題