###前提・実現したいこと
タブ表示のJSを作ってる最中で、読み込み時にアンカータグがあるときに、該当する項目をJSで表示させたいですが、該当するときとしないときの条件分岐がうまくいきません。
html
1<ul class="country"> 2 <li><a href="#tokyo">東京</a></li> 3 <li><a href="#amerika">アメリカ</a></li> 4 <li><a href="#doitu">ドイツ</a></li> 5 <li><a href="#indo">インド</a></li> 6</ul> 7 8<div id="japan">ジャパンはダミー</div> 9 10<div id="tokyo" class="cont">東京に来ました</div> 11<div id="amerika" class="cont">アメリカに来ました</div> 12<div id="doitu" class="cont">ドイツに来ました</div> 13<div id="indo" class="cont">インドに来ました</div> 14
javascript
1var hash = location.hash; 2var cont = $('.cont') 3 4cont.hide() //初期表示で消す。 5if ($(hash).length) { //ここでハッシュがあるかを見る 6 $('.country li a').each(function() { 7 if ($(this).attr('href') === hash) { //ここでハッシュがcountoryの中のなのかチェック 8 $(hash).show() 9 $(this).css('background', 'red'); 10 } 11 }) 12} else { 13 $('.country li a').eq(0).css('background', 'red'); 14 $('.cont').eq(0).show(); 15} 16
このような感じで作りましたが、tokyo・amerika・doitu・indoがあるときはうまく動きますが、アンカータグがjapanのときは.contが全部消えてしまいます。
アンカータグjapanのときに表示させたいのはif文のelseのところ(東京に来ました かつ 東京を赤にする)を表示したいです。
どうすればtokyo・amerika・doitu・indoのときのみ表示ができるのでしょうか?
ご教授のほどお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/14 00:06