You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用querySelector选取未设置id的HTML元素?

可以用querySelector实现,修正选择器即可

你之前的写法document.querySelectorAll('*:not([id=""])')之所以会选中所有元素,是因为[id=""]匹配的是带有id属性但值为空的元素,:not([id=""])就会包含两类元素:完全没有id属性的,以及有id且值非空的,自然会选中所有元素。

要精准选中未设置id属性的元素,用这个选择器就行:

document.querySelectorAll('*:not([id])');

逻辑说明

  • [id] 匹配任何带有id属性的元素(不管值是什么)
  • :not([id]) 反向匹配所有完全没有id属性的元素
  • 前面的*表示匹配所有标签类型,确保覆盖页面上所有元素

如果你的需求还包含“有id属性但值为空”的元素,可合并两种情况:

// 选中无id属性 或 id为空的元素
document.querySelectorAll('*:not([id]), *[id=""]');

内容的提问来源于stack exchange,提问作者Bill2022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:05:20