jQueryでセレクタに属性を指定するときに気をつけること

自分がはまったのでメモを兼ねての投稿。

<div class="fade-in slide-in diary">
  なんか文章なんか文章なんか文章
</div>

<div class="fade-out diary">
  なんか文章なんか文章なんか文章
</div>

こんなhtmlがあったとして、jQueryで fade-in クラスを選択したいとします。

$(".fade-in");

はい、もちろんこうですね。
そうです、class属性は “.”(ドット)で指定できます。

じゃあ、今度は fade- で始まるクラスをすべて選択したくなったとして、一旦属性を指定する方法で、class=”fade-in”を指定してみましょう。
以下が自分が犯したミス。

$("[class='fade-in']") // 返り値なし 

一見同ものが返りそうですが、違います。
[class=””] は完全一致したものが返ります。
つまり、この一個目の div は、

$("[class='fade-in slide-in diary']") // ヒットする
$("[class='fade-in']") // ヒットしない

なのです。

カテゴリー: JavaScript パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*