Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 单击子菜单或子菜单时需要激活父类_Javascript_Jquery - Fatal编程技术网

Javascript 单击子菜单或子菜单时需要激活父类

Javascript 单击子菜单或子菜单时需要激活父类,javascript,jquery,Javascript,Jquery,我有菜单的标题,它包含在所有页面中。问题是当我点击子菜单时,我无法使子菜单及其父菜单高亮显示或激活 $(“.dropdown.dropdown menu li a”)。单击(函数(){ $(.active”).removeClass('active'); $(this).closest('.dropdown').find('a:first').addClass(“active”); $(此).addClass(“活动”); }); 如果我正确理解了您的问题,下面的代码将使用

我有菜单的标题,它包含在所有页面中。问题是当我点击子菜单时,我无法使子菜单及其父菜单高亮显示或激活

$(“.dropdown.dropdown menu li a”)。单击(函数(){
$(.active”).removeClass('active');
$(this).closest('.dropdown').find('a:first').addClass(“active”);
$(此).addClass(“活动”);
});


如果我正确理解了您的问题,下面的代码将使用指定的类名向父类添加所需的类名

document.addEventListener('click', ({target}) => {

  const closestDropDown = target.closest('.dropdown');

  if(closestDropDown){
    closestDropDown.classList.add('active');
    console.log(closestDropDown);
  }
});

您的jQuery代码可以工作,您只需让它在加载时运行,以及
单击
,您可以使用
触发器('click')

var$a=$(“.dropdown.dropdown menu li a”)。单击(函数(e){
e、 preventDefault();//仅用于测试。。。
$(.active”).removeClass('active');
$(this).closest('.dropdown').find('a:first').addClass(“active”);
$(此).addClass(“活动”);
});
$a.filter('.active')。触发器('click')
.active{
颜色:#C00;
}


子菜单和它的父菜单哪些标签是子菜单和父菜单?假设单击gurgaon页面,它的父菜单也应该高亮显示。请包括一个最小、完整且可验证的示例:我们需要查看HTML、JS和CSS。jquery:$(“.dropdown.dropdown menu li a”)。单击(function(){//alert('anu');$(.active).removeClass('active');$(this).closest('.dropdown').find('a:first').addClass(“active”);$(this.addClass(“active”);});请使用问题下方的“编辑”按钮添加代码,因为它在注释中不容易阅读。在本例中,我已经为您完成了。@Rorymcrossan您的意思是如果我使用jQuery选择器?Element.closest()返回一个肯定具有classList属性的常规元素对象。还是我遗漏了什么OThis正在工作,但我无法打开页面…假设整个印度。这只是突出显示Head,因为我在其中添加了
e.preventDefault()
调用。对于本例,您需要删除它,然后在单击
a
元素时执行所需的任何逻辑。我已经删除了它,但默认情况下,活动类不会从所有系统中删除。当我单击另一个列表项时