假设一个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>
其他HTML内容 :表示其他任何内容甚至其他<a href='something'>
,没有设置任何ID 。
我想要的是一个交叉(最近)浏览器解决方案,以获得所有具有ID设置的锚点,而不是那些没有任何ID的锚点。
但我想要的是,如果可能的话,在纯粹的js中,只在一个js命令中选择,所有将其id属性设置为任何通用值的锚点。
我已经知道,有可能将它们全部拿出来,然后使用for循环提取我需要的东西,但这不是最佳解决方案。 我也知道https://stackoverflow.com/a/8714421/6508528来获取开始,结束或包含某些id部分的元素。 但是如果我不知道id的任何部分/子字符串呢?
我不知道可能是这样的:
var allAnchors = document.querySelectorAll('a[id="*"]');
可以防止在获取数组后重新处理数组allAnchors
。
答案 0 :(得分:3)
这将使用id attr获取所有锚元素。设置:
document.querySelectorAll('a[id]');
这会抓取所有没有id的锚元素:
document.querySelectorAll('a:not([id])');