2016-03-30 15 views
-1

選択したHTMLリンクのdivを表示します。例えばセクションの表示と非表示を切り替える方法は?

私は<div id="categories" ... >を示したことになるとのdivの他は非表示になります HTMLリンクカテゴリーをクリックしました。

HTML

<div id="col-navigation"> 
     <ul> 
      <li> 
       <a href="#"> Quizzes </a> 
      </li> 
      <li> 
       <a href="#"> Categories </a> 
      </li> 
      <li> 
       <a href="#"> Jump </a> 
      </li> 
     </ul> 
</div> 

<div id="quizzes"> //default showed 
    Quizzes! 
</div> 

<div id="categories" style="display:none"> 
    Categories! 
</div> 

<div id="jump" style="display:none"> 
    Jump! 
</div> 
+2

ので、あなたの何を試してみましたが、何も~

:target { display: block !important; } :target ~ div[id] { display: none; }
<div id="col-navigation"> <ul> <li> <a href="#quizzes"> Quizzes </a> </li> <li> <a href="#categories"> Categories </a> </li> <li> <a href="#jump"> Jump </a> </li> </ul> </div> <div> <div id="categories" style="display:none"> Categories! </div> <div id="jump" style="display:none"> Jump! </div> <div id="quizzes">//default showed Quizzes! </div> </div>
? – JordanHendrix

+1

[divを表示してリンクをクリックすると他のユーザーを隠す]の可能な複製(http://stackoverflow.com/questions/18055524/show-one-div-and-hide-others-on-clicking-a-link) – TylerH

答えて

0

ことは、これを試してください: -

$('#col-navigation a').click(function(){ 
    $('#quizzes,#categories,#jump').hide(); 
    $('#' + $.trim($(this).text()).toLowerCase()).show(); 
}); 

Fiddle

OR

$('#col-navigation a').click(function(){ 
    $('#quizzes,#categories,#jump').show() 
    .not('#' + $.trim($(this).text()).toLowerCase()).hide(); 
}); 

Fiddle

0
$("#col-navigation a").click(function(e) { 
    var getText = $(this).text().trim().toLowerCase(); 
    $("#"+getText).toggle().siblings().hide(); 
    e.preventDefault(); 
}); 

上記コードを使用して動作させます。

ワーキングフィドル:https://jsfiddle.net/z4bprass/1/

+0

私の質問を見直してください。私は、クリックされたhtmlリンクだけを表示したい。 –

0

あなたはcss:targetを使用することができ、一般的な兄弟セレクタ

+0

jsfiddle https://jsfiddle.net/u1y22bu7/ – guest271314

関連する問題