1

なぜこれが機能しないのだろうか?

var attr = $("a").attr('rel');
if (typeof attr == 'lightBox') {
    $(this).addClass("lightbox");
}

REL属性が「lightBox」に設定されているリンクにクラスを追加したいと思います。

これはうまくいくはずです...そうですか?

4

3 に答える 3

5
$('a[rel="lightbox"]').addClass("lightbox");

それでうまくいくはずです。

typeof-値ではなくデータ型を返します!したがって、型(文字列)と値(ライトボックス)を比較しようとしています。

于 2011-02-09T11:08:03.890 に答える
1

typeofこのコンテキストでは機能せず(代わりに文字列のコンテンツを比較する必要がありますif (attr == 'lightBox')this、そのコンテキストでも使用できないか、少なくとも目的の要素に表示されません。

単純にやってみませんか

$("a[rel='lightBox']").addClass("lightBox");

于 2011-02-09T11:08:07.853 に答える
0

いいえ、機能しません。

typeof属性のタイプをテストします-この場合、rel属性は常に文字列です。typeofを取り出してください、それは動作しません。

また、どこ$thisから来たのですか?

于 2011-02-09T11:08:37.577 に答える