如果一个孩子有一个活跃的类,那么也给父母一个活跃的类 - Vanilla JS

Fra*_*ter 1 html javascript css

正如标题所说,我试图给一个父导航项目一个'is-active'类,如果它的孩子有一个'active'vanillaJS.我知道怎么做,jQuery但我不想在我的项目中添加它们.

我已经设法创建了一个基本的jsfiddle - http://jsfiddle.net/1k9su6vo/ - 这是我的意图,但我觉得它有点太基本,当我开始添加更多的复杂性nav.

有没有一种简单的方法来遍历导航喜欢jQuery用呢.find(),.closest()等,但与JS?

if (document.querySelector('.active')) {
   document.querySelector('.active').parentNode.parentNode.parentNode.classList.add('is-active');
}
Run Code Online (Sandbox Code Playgroud)

小智 5

现代浏览器实际上支持.closest()方法,请参阅Mozilla开发者网站