作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然这可以通过纯 CSS 轻松实现,但我正在使用的论坛软件将内联样式写入我需要覆盖的 HTML 中,或者在本例中,使用 jQuery 动态更改。
我有一个列表菜单,我希望 li.active 元素中的 anchor 具有黑色背景。这就是我的处境。
if ( $('#community_app_menu li a').parent().hasClass('active')) {
$('#community_app_menu li a').css({
'background-image': 'none',
'background': 'rgba(0,0,0,1)'
});
}
显然,这针对所有“#community_app_menu li a”元素,但我不能在 IF 内部使用 $(this)。
我想做的事可能吗?任何帮助将不胜感激。
谢谢,安迪
最佳答案
更类似 jQuery 的方式是 filter删除您不想定位的元素(换句话说,仅选择您想要操作的元素)。这将是通用方法:
$('#community_app_menu li a').filter(
return $(this).parent().hasClass('active');
}).css({
'background-image': 'none',
'background': 'rgba(0,0,0,1)'
});
但我们可以做得更好:
如果 li
元素实际上是 a
元素的父元素,则将该类添加到选择器:
$('#community_app_menu li.active > a').css({
'background-image': 'none',
'background': 'rgba(0,0,0,1)'
});
即使 li
元素不是父元素,您也可以使用单个选择器来代替 .filter
:
$('#community_app_menu li .active > a').css({
'background-image': 'none',
'background': 'rgba(0,0,0,1)'
});
关于javascript - IF 语句中是否有相当于 (this) 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151211/
我是一名优秀的程序员,十分优秀!