「開く」と表示されているボタンが複数あったとして、クリックしたら文字が「閉じる」と変わるようにしたいのですが、一つのボタンをクリックしたら、その他のボタンの表示は「開く」に戻したいです。
html
1<div class="btn">開く</div> 2<div class="btn">開く</div> 3<div class="btn">開く</div>
HTMLでボタンはこのように配置されていて、ボタンを押したら開くコンテンツはボタンの下にはなく、デザインの都合上、サイドバーやヘッダーに散らばっています。
jquery
1$(function () { 2 $(".btn").click(function () { 3 if ($(this).text() === "閉じる") { 4 $(this).text("開く"); 5 } else { 6 $(this).text("閉じる"); 7 } 8 }); 9});
こうすると、一つのボタンをクリックすると「閉じる」に変化するのですが、別のボタンをクリックしたときに、さっき押したボタンは「閉じる」のままです。
なので、こうしてみたのですが、
jquery
1$(function () { 2 $(".btn").click(function () { 3 $(".btn").text("開く"); 4 if ($(this).text() === "閉じる") { 5 $(this).text("開く"); 6 } else { 7 $(this).text("閉じる"); 8 } 9 }); 10});
こうすると、別のボタンをクリックしたときに、前のボタンが「開く」と表示が戻ってくれるのですが、同じボタンをクリックしても「閉じる」のままで「開く」に戻ってくれません。
どうしたらいいのかわかりません。教えてください。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー