複数のコンテンツをボタンクリックにて表示・非表示にしたいのですが、うまくいきません。
なんとか、2つまではわかったのですが、3つまで表示すると3つ目が非表示になってくれません。
最終的には5つくらいを下記のスクリプトで行いたいのですが、どうすれば、複数のIDを対応させることができますか?
●例えば、test1を押した際、test2と3は非表示としたいです。
<script language="JavaScript" type="text/JavaScript">
<!--
function ChDsp2(strShow,strHidden){
var obj='';
obj=document.all && document.all(strShow) || document.getElementById && document.getElementById(strShow);
obj.style.display = "block";
obj=document.all && document.all(strHidden) || document.getElementById && document.getElementById(strHidden);
obj.style.display = "none";
}
//-->
</script>
<a href="javascript:ChDsp2('text1','text2');">1を表示</a>
<a href="javascript:ChDsp2('text2','text1');">2を表示</a>
<a href="javascript:ChDsp2('text3','text1');">3を表示</a>
<span id="text1" style="display:block;">111111</span>
<span id="text2" style="display:none;">222222</span>
<span id="text3" style="display:none;">333333</span>
どなたか教えてください。お願いします。
No.1ベストアンサー
- 回答日時:
きれいに消しこみができていませんね。
こういうのはグルーピングした方がすっきりします。
こんな感じでどうでしょ?
<style>
.hide{display:none;}
.r{ background-Color:red;}
.g{ background-Color:green;}
.b{ background-Color:blue;}
</style>
<script>
function ChDsp2(strShow,classHidden){
var tags=document.getElementsByTagName("div");
for(var i=0;i<tags.length;i++){
if(tags[i].className.match('textALL')){
tags[i].className=tags[i].className.replace(/hide/,"").replace(/^\s+|\s+$/,"");
if(tags[i]!=document.getElementById(strShow)) tags[i].className+=' hide';
}
}
return false;
}
</script>
<a href="#" onclick="return ChDsp2('text1','textALL');">1を表示</a>
<a href="#" onclick="return ChDsp2('text2','textALL');">2を表示</a>
<a href="#" onclick="return ChDsp2('text3','textALL');">3を表示</a>
<div id="text1" class="textALL r">111111</div>
<div id="text2" class="textALL g hide">222222</div>
<div id="text3" class="textALL b hide">333333</div>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
背景色を透明化
-
IFRAMEの表示/非表示を切り替え...
-
jQueryで特定id以外の下にある...
-
MAX関数を使ってからLEFT JOIN...
-
表示・非表示のスクリプトで、...
-
createElementで作成した要素を...
-
クリックで色変更後に既に変更...
-
jQueryで同じid属性が複数あっ...
-
複数のリンク画像を一定時間で...
-
jQueryでシンプルドラッグドロ...
-
checkboxにチェックを入れると...
-
javascriptでpostした値が取得...
-
iframe内のリンクが飛ばないの...
-
タブで開いてさらにタブ内をア...
-
onclickとonmouseoverを同時に...
-
[急ぎ] videoタグで埋め込んだm...
-
PHPからSQL文で〇〇か〇〇か〇...
-
折りたたみ部分にアンカーでリ...
-
背景色を一定時間ごとにランダ...
-
Javascriptで可変のHTMLのID名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
createElementで作成した要素を...
-
背景色を透明化
-
IFRAMEの表示/非表示を切り替え...
-
表示・非表示のスクリプトで、...
-
iframe内のリンクが飛ばないの...
-
getElementByIdの戻り値がnull...
-
指定したパスが現URLに含まれて...
-
removeEventListenerについて
-
クリックで色変更後に既に変更...
-
【HP作成】クリックすると下...
-
jQueryで同じid属性が複数あっ...
-
onclickとonmouseoverを同時に...
-
jqueryを使って無駄なspanタグ...
-
Gif画像のアニメーションが再生...
-
JSで動的にリンクを作成
-
複数のリンク画像を一定時間で...
-
jQueryのアコーディオンメニュ...
おすすめ情報