document.querySelectorAll('a[id="*"]');和通配符或正则表达式?

document.querySelectorAll('a[id="*"]'); and wildcard or regex?

假设一个 HTML 文档,其中有一些内部锚点/书签和其他 html 通用内容:

<a id='alfa'></a>
  other HTML content
<a id='beta'></a>
  other HTML content
<a id='gamma'></a>
  other HTML content
<a id='delta'></a>
  other HTML content
<a id='omega'></a>
  other HTML content
...
  other HTML content
<a id='etha'></a>

other HTML content: 意思是其他任何东西 even other <a href='something'>, without任意 id 集.

我想要的是一个跨(最近)浏览器的解决方案来获得所有具有 id 集的锚点 但不是那些没有任何 id 的锚点。

但我想要的是,如果有可能,在纯 js 中,仅在一个 js 命令中 select,所有将其 id 属性设置为任何通用值的锚点.

我已经知道了,有可能得到它们,然后用 for 循环提取我需要的那些,但这不是最佳解决方案。 我也知道 获取开始、结束或包含某些 ids 部分的元素。 但是,如果我不知道任何 part/sub-string 的 ID 怎么办?

我不知道可能是这样的:

var allAnchors = document.querySelectorAll('a[id="*"]');

这样就不需要在获取数组后重新处理数组 allAnchors

这将获取所有具有 id attr 的锚元素。设置:

document.querySelectorAll('a[id]');

这会抓取所有没有 id 的锚元素:

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