如果a有attr rel=lightbox然后addClass,问题
我想知道为什么这不起作用?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
那应该可以解决问题。
typeof - 返回数据类型而不是值!所以你试图将类型(字符串)与值(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).
typeof
在这种情况下永远不会工作(您想要比较字符串的内容,即if (attr == 'lightBox')
)和this 在该上下文中也将不可用,或者至少不会显示给所需的元素。
为什么不简单地做一个
?
typeof
will never work in this context (you want to compare the string's content instead, i.e.if (attr == 'lightBox')
), andthis
will not be available in that context either, or at least not show to the desired element.Why not simply do a
?
不,这是行不通的。
typeof
测试属性的type - 在这种情况下,rel
属性始终是字符串。把typeof去掉,就不行了。另外,
$this
从哪里来?No, it won't work.
typeof
tests the type of the attribute - in this case, therel
attribute is always a string. Take out the typeof, it won't work.Also, where has
$this
come from?