jQuery: $('this') ではなく $(this)
昔やらかして数十分を無駄にしてしまった記述ミスを紹介します。
次のように、複数の要素の1つをクリックしたときに、
クリックされた要素に対して何かしらの処理をする、というロジックです。
jQeuryの記述部分で間違いを探してください。
HTML
<ul>
<li><a href=""></a>リストA</li>
<li><a href=""></a>リストB</li>
<li><a href=""></a>リストC</li>
</ul>
JavaScript
$('li').on('click', function(){
$('this').css('color', 'red');
});
ページのタイトルからもわかるように、$('this')とやらかしてしまっています。
jQueryを使用する場合は、ほとんどのケースでシングル(又はダブル)クォーテーションで囲みます。 $('li')、$('.classname')、$('#idName')というような記述になります。
それに引っ張られてthisを使用するときにも$('this')と無意識にシングルクォーテーションを付けてしまい、 該当要素が正常に取得できないというエラーにはまること数十分。 原因に気づいたときは思わず笑ってしまいました。
注意事項: $('this') ではなく $(this)