なぜこれが機能しないのだろうか?
var attr = $("a").attr('rel');
if (typeof attr == 'lightBox') {
$(this).addClass("lightbox");
}
REL属性が「lightBox」に設定されているリンクにクラスを追加したいと思います。
これはうまくいくはずです...そうですか?
$('a[rel="lightbox"]').addClass("lightbox");
それでうまくいくはずです。
typeof-値ではなくデータ型を返します!したがって、型(文字列)と値(ライトボックス)を比較しようとしています。
typeof
このコンテキストでは機能せず(代わりに文字列のコンテンツを比較する必要がありますif (attr == 'lightBox')
)this
、そのコンテキストでも使用できないか、少なくとも目的の要素に表示されません。
単純にやってみませんか
$("a[rel='lightBox']").addClass("lightBox");
?
いいえ、機能しません。
typeof
属性のタイプをテストします-この場合、rel
属性は常に文字列です。typeofを取り出してください、それは動作しません。
また、どこ$this
から来たのですか?