如果 hasClass 则将Class 添加到父级
原帖: 为什么这个简单的脚本不起作用?
if ($('#navigation > ul > li > ul > li > a').hasClass('.active')) {
$(this).parent().parent().parent().addClass(".active");
}
编辑:
这不会隐藏 H1:
if ($('#content h1').hasClass('aktiv')) {
$(this).hide();
}
只有这个会:
if ($('#content h1').hasClass('aktiv')) {
$('#content h1').hide();
}
为什么我不能使用(这个)?
Original post:
Why doesn't this simple script work?
if ($('#navigation > ul > li > ul > li > a').hasClass('.active')) {
$(this).parent().parent().parent().addClass(".active");
}
EDIT:
This won't hide the H1:
if ($('#content h1').hasClass('aktiv')) {
$(this).hide();
}
Only this will:
if ($('#content h1').hasClass('aktiv')) {
$('#content h1').hide();
}
Why can't I use the (this)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
点不是类名的一部分。它仅用于 CSS/jQuery 选择器表示法。请尝试以下操作:
如果
$(this)
引用该锚点,则还必须将其更改为$('#navigation a')
,因为 if 条件不有 jQuery 回调范围。The dot is not part of the class name. It's only used in CSS/jQuery selector notation. Try this instead:
If
$(this)
refers to that anchor, you have to change it to$('#navigation a')
as well because the if condition does not have jQuery callback scope.或者你可以使用:
Alternatively you could use:
您可能想将条件更改为
if ($(this).hasClass('active'))
另外,
hasClass
和addClass
采用 < em>类名,而不是选择器。因此,您不应包含
.
。You probably want to change the condition to
if ($(this).hasClass('active'))
Also,
hasClass
andaddClass
take classnames, not selectors.Therefore, you shouldn't include a
.
.你不能使用
$(this)
因为 jQuery 不知道它在那里。你似乎把事情过于复杂化了。您可以执行$('#content h1.aktiv').hide()
。没有理由测试该类是否存在。You can't use
$(this)
since jQuery doesn't know what it is there. You seem to be overcomplicating things. You can do$('#content h1.aktiv').hide()
. There's no reason to test to see if the class exists.不起作用的原因是
this
在 if 语句内没有特定含义,您必须返回到定义this
的范围级别(a功能)。例如:
The reason that does not work is because
this
has no specific meaning inside of an if statement, you will have to go back to a level of scope wherethis
is defined (a function).For example:
如果有人使用 WordPress,您可以使用以下内容:
If anyone is using WordPress, you can use something like: