jQueryの要素指定がうまくできない理由10選

+の打ち忘れ

 var hogehoge =$(ほにゃらら);
$('.' hogehoge + ' .test');

テキストに挟まれたとき+忘れがち。正確には

$('.' + hogehoge + ' .test');

thisなどで指定したvar

function()などで囲んでthis拾っている場合、別の場所でvarが正常に出力されない。

 

.attr(”)で取得したものが複数セレクタの場合

.が入らないのでその値をセレクタ指定に使うことができません

attrの値を使用する場合.の内忘れに注意しましょう

$('ul .'+ hogehoge)

 

一つ目のクラス名を取得する
$('#hoge').get(0).className.split(" ")[0];

JSで1つめのクラス名を取得する。

 

.on(‘click’イベントが2回繰り返される

//~~~省略~~~
$('.tab').off('click'); // 2回目のonの前にあらかじめ.off()を実行
$('.tab').on('click',function () {
$('.hogehoge').slideToggle();
});
//~~~省略~~~

クリックイベントが2回(複数回)動くのは、.on()の重複が原因だった