Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IF语句中是否有(这个)等价物_Javascript_Jquery - Fatal编程技术网

Javascript 在IF语句中是否有(这个)等价物

Javascript 在IF语句中是否有(这个)等价物,javascript,jquery,Javascript,Jquery,虽然这可以通过纯CSS轻松实现,但我正在使用的论坛软件将内联样式写入HTML,我需要覆盖它,或者在本例中,使用jQuery动态更改 我有一个列表菜单,我希望li.active元素中的锚具有黑色背景。这就是我对它的看法 if ( $('#community_app_menu li a').parent().hasClass('active')) { $('#community_app_menu li a').css({ 'background-image': 'none',

虽然这可以通过纯CSS轻松实现,但我正在使用的论坛软件将内联样式写入HTML,我需要覆盖它,或者在本例中,使用jQuery动态更改

我有一个列表菜单,我希望li.active元素中的锚具有黑色背景。这就是我对它的看法

if ( $('#community_app_menu li a').parent().hasClass('active')) {
    $('#community_app_menu li a').css({
        'background-image': 'none',
    'background': 'rgba(0,0,0,1)'
 });
 } 
显然,这是针对所有“#社区#应用程序(u menu li a)元素的,但我不能在IF中使用$(this)

我想做的事情可能吗?任何帮助都将不胜感激

谢谢,
Andy

更像jQuery的方法是找出您不想针对的元素(换句话说,只选择您想要操作的元素)。这将是通用的方法:

$('#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)'
});