document.querySelectorAll('a:visited')
总是返回空的NodeList,即使DOM有一些访问过的链接。
我在Chrome中尝试过它。是否有任何已知错误或预期的行为?
如果我在样式表中使用:visited
而不是querySelectorAll,那么a:visited{
color:yellow;
}
可以正常工作。
querySelectorAll()
我认为允许伪类作为{{1}}的参数。
答案 0 :(得分:9)
我找不到任何专门针对Chrome引用此行为的来源,但通常会这样做是为了防止页面上的代码访问用户历史记录,这是一个隐私问题。
Selectors API专门针对此问题a section。这是一个小的相关片段:
历史盗窃是一个潜在的隐私问题,因为选择器中的
:visited
伪类允许作者查询已访问的链接。
...
根据选择器...中的定义,用户代理可以将所有链接视为未访问的链接。