我使用香草javascript,没有jQuery。
在我的代码中,我看起来像这样:
item.closest('ul').closest('li').closest('ul').classList.add('active');
虽然有效,但看起来并不那么好。我重复
closest
3次。在这种情况下,有可能使事情变得更聪明吗?
最佳答案
没有使它更短的标准方法。
您可以:
将一个类添加到您要选择的元素中。那会使您的选择器看起来像这样:item.closest('ul.myClass').classlist.add('active')
创建一个包装closest
链创建的函数:
function closestChain(item) {
return Array.from(arguments).reduce((acc, val) => {
return acc.closest(val);
});
}
closestChain(item, 'ul', 'li', 'ul').classlist.add('active');
或者您可以等待has CSS selector可用
关于javascript - 嵌套最接近javascript的更好方法(不是jQuery),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50406888/