Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
Dom 角度8-查找具有特定类的父元素_Dom_Angular8 - Fatal编程技术网

Dom 角度8-查找具有特定类的父元素

Dom 角度8-查找具有特定类的父元素,dom,angular8,Dom,Angular8,我使用启动菜单,我想将classactive设置为header菜单,并已单击子菜单 单击子菜单并设置活动类后,我想找到该子菜单(标题菜单)的父菜单,并设置活动类 --header item1 (active) -- submenu1 -- submenu2 (active) --header item2 怎么做 单击菜单后: <p-panelMenu [model]="items" [style]="{'width':'240px'}" (

我使用启动菜单,我想将class
active
设置为header菜单,并已单击
子菜单

单击子菜单并设置活动类后,我想找到该子菜单(标题菜单)的父菜单,并设置
活动类

--header item1 (active)
  -- submenu1
  -- submenu2 (active)
--header item2
怎么做

单击菜单后:

<p-panelMenu [model]="items" [style]="{'width':'240px'}" (click) = "activeMenu($event)"></p-panelMenu>
如何在
findMyHeaderItem()中找到我的标题菜单

当我点击一个子菜单时,我得到
。在上面的
中,DOM中有这样一个父级(包装器),就像另一个
span
a
li
ul
,然后是div,在其中我们有一个元素(应该得到类名
活动的头)

更新

我通过以下方式实现了我的目标:

private findHeaderMenu(currentItem: Element) {
    const element = this.currentMenuItem.parentElement.parentElement.parentElement.parentElement
      .parentElement.parentElement.parentElement.firstElementChild.firstElementChild;
    return element;
  }
但是看起来不太好。。。你有其他的方法吗

private findHeaderMenu(currentItem: Element) {
    const element = this.currentMenuItem.parentElement.parentElement.parentElement.parentElement
      .parentElement.parentElement.parentElement.firstElementChild.firstElementChild;
    return element;
  }