音楽に関する話題、プログラムに関する話題、ジョギングに関する話題、後は日々気になったことを綴っていきます。
ザ☆ミュージシャンズ・プログラマー - Exploring Music & Programming -



こんばんは。

テンプレートでjQueryのCDNを追加して動作確認をしました。
$(this)が思ったように使えなかったので記録しておきます。

CDNは以下のものを使用しました。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

サンプルのHTMLです。
問題をクリックする度に解答が表示・非表示を繰り返すものです。
  •  
    問題
     

最初は簡略化させようと思い以下のようにやりました。
<script type="text/javascript">
	$(function(){
	  $(".question").on("click", () => {
		  $(this).siblings(".answer").toggle();
    });
  });
</script>

駄目なバージョン(注:scriptの関係上class名は変えています)
  • 問題

これではなぜか動作しませんでした。$(this)に問題あるのかと思い、同じ用に$(".question")とすると動いたんですが、複数ある場合は当然ながら同じclass属性も同じ動作になっていしまいます。ものは試しにfunction()を使ってやったところ動作しました。
<script type="text/javascript">
	$(function(){
	  $(".question").on("click", function() {
		  $(this).siblings(".answer").toggle();
    });
  });
</script>

うまくいったバージョン
  • 問題

なぜかは不明。



コメント ( 0 ) | Trackback ( )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする



« 仕訳の問題 1966年12月30... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。