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

发布于 2024-10-17 00:17:18 字数 208 浏览 3 评论 0原文

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

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

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

这应该有效...对吧?

I wonder why this doesn't work?

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

I want to add a class to a link which has the REL attribute set to "lightBox".

This should work... right?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

飘过的浮云 2024-10-24 00:17:18
$('a[rel="lightbox"]').addClass("lightbox");

那应该可以解决问题。

typeof - 返回数据类型而不是值!所以你试图将类型(字符串)与值(lightBox)进行比较。

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

That should do the trick.

typeof - returns the data type NOT the value! so you are trying to compare type (string) to value (lightBox).

一人独醉 2024-10-24 00:17:18

typeof 在这种情况下永远不会工作(您想要比较字符串的内容,即 if (attr == 'lightBox'))和 this 在该上下文中也将不可用,或者至少不会显示给所需的元素。

为什么不简单地做一个

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

typeof will never work in this context (you want to compare the string's content instead, i.e. if (attr == 'lightBox')), and this will not be available in that context either, or at least not show to the desired element.

Why not simply do a

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

?

韬韬不绝 2024-10-24 00:17:18

不,这是行不通的。

typeof 测试属性的type - 在这种情况下,rel 属性始终是字符串。把typeof去掉,就不行了。

另外,$this 从哪里来?

No, it won't work.

typeof tests the type of the attribute - in this case, the rel attribute is always a string. Take out the typeof, it won't work.

Also, where has $this come from?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文