質問内容
jQueryで表示と非表示を切り替えるボタンを作っているのですが、行き詰ったので質問させていただきます。
一応下記のコードで動作はしているのですが、このままだと同じボタンを複数作ったときに1つボタンを押したらすべて表示されてしまうので困っています。
ボタンと表示非表示を切り替える要素を対応付けるような仕組みはないのでしょうか?
またjQueryのコード自体もどこか煩雑ですっきりしないので、何か指摘などありましたら教えていただけると幸いです。
該当のソースコード
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> 5 </head> 6 <body> 7 <p> 8 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br> 9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br> 10 <span class="hide" style="display: none;"> 11 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 12 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 13 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 14 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 15 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 16 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 17 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb<br> 19 </span> 20 </p> 21 <button class="readmore-button">Read more</button> 22 23 <script src="script.js"></script> 24 </body> 25</html>
javascript
1$('.hide').hide(); 2 3$('.readmore-button').click(function(){ 4 if($('.hide').css('display') === 'none'){ 5 $('.hide').show(); 6 $('.readmore-button').html('Close'); 7 }else{ 8 $(".hide").hide(); 9 $('.readmore-button').html('Read more'); 10 } 11})
回答2件
あなたの回答
tips
プレビュー