いつまでもプログラマー★いつまでもミュージシャン

プログラムとミュージックを愛する親父

ブログ上でのjQueryの動き

こんばんは。

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

CDNは以下のものを使用しました。

サンプルの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>

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

なぜかは不明。