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 回答