jQueryの要素指定がうまくできない理由10選
+の打ち忘れ
var hogehoge =$(ほにゃらら);
$('.' hogehoge + ' .test');
テキストに挟まれたとき+忘れがち。正確には
$('.' + hogehoge + ' .test');
thisなどで指定したvar
function()などで囲んでthis拾っている場合、別の場所でvarが正常に出力されない。
.attr(”)で取得したものが複数セレクタの場合
.が入らないのでその値をセレクタ指定に使うことができません
attrの値を使用する場合.の内忘れに注意しましょう
$('ul .'+ hogehoge)
一つ目のクラス名を取得する
$('#hoge').get(0).className.split(" ")[0];
.on(‘click’イベントが2回繰り返される
//~~~省略~~~
$('.tab').off('click'); // 2回目のonの前にあらかじめ.off()を実行
$('.tab').on('click',function () {
$('.hogehoge').slideToggle();
});
//~~~省略~~~
クリックイベントが2回(複数回)動くのは、.on()の重複が原因だった