如果a有attr rel = lightbox则addClass,问题

时间:2011-02-09 11:05:14

标签: jquery lightbox addclass attr

我想知道为什么这不起作用?

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

我想在REL属性设置为“lightBox”的链接中添加一个类。

这应该有效......对吧?

3 个答案:

答案 0 :(得分:5)

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

这应该可以解决问题。

typeof - 返回数据类型而不是值!所以你试图比较type(string)和value(lightBox)。

答案 1 :(得分:1)

typeof永远不会在此上下文中工作(您希望比较字符串的内容,即if (attr == 'lightBox')),并且this在该上下文中也不可用,或者至少不显示所需的元素。

为什么不简单地做一个

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

答案 2 :(得分:0)

不,它不会起作用。

typeof测试属性的类型 - 在这种情况下,rel属性始终是字符串。取出类型,它将无法正常工作。

此外,$this来自哪里?