![](/img/trans.png)
[英]How can I parse a document and remove all elements except for one that matches and ID and its children
[英]Get all elements of the document except the one with the id 'main-nav'
我想从侧面做一个汉堡菜单,打开时背景应该模糊,应该禁用悬停效果。 如何让身体中的所有元素都使用id main-nav。 我需要使用javascript来获取它,而不需要像jquery那样的库。 这是我认为它应该是但它不起作用:
document.querySelector('*:not(#main-nav)')
提前致谢
要选择多个元素,请使用querySelectorAll
,而不是querySelector
:
var items = document.querySelectorAll('*:not(#main-nav)')
但你不太可能真的需要所有这些元素。 您可以使用类或其他属性来优化您的选择并避免使用*
。
也许你只想选择容器。
我通常的解决方案是在要模糊的元素上显示div(可能是整个窗口),并使用带有后备的backdrop-filter
CSS过滤器,只为不支持它的浏览器选择背景。
由于您选择了多个节点,因此应使用querySelectorAll
而不是querySelector
:
document.querySelectorAll('*:not(#main-nav)');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.