Javascript 为什么链接编号不同?

Javascript 为什么链接编号不同?,javascript,Javascript,我尝试使用JS计算页面中的链接,但得到了不同的结果。为什么会有区别 var intLNK=document.links.length; console.log(intLNK); var intA=document.getElementsByTagName(“a”).length; 控制台日志(intA)因为一些锚定a标记缺少href属性文档。链接列出了从 感谢Robert Weber,links属性返回了所有的集合,这是因为首先查找所有href值,然后查找所有锚标记。这就是结果不同的原因 如果

我尝试使用JS计算页面中的链接,但得到了不同的结果。为什么会有区别

var intLNK=document.links.length;
console.log(intLNK);
var intA=document.getElementsByTagName(“a”).length;

控制台日志(intA)因为一些锚定
a
标记缺少
href
属性
文档。链接列出了从


感谢Robert Weber,links属性返回了所有
的集合,这是因为首先查找所有href值,然后查找所有锚标记。这就是结果不同的原因

如果您想获得所有包含href的锚定标记,可以使用jquery这样做

$('a[href]').length

在HTML中用于两个目的的标记

1) 标记文档中的位置。

document.links.length
将返回带有HREF属性的标记计数,而
document.getElementsByTagName(“a”).length
将返回所有a标记的计数,无论链接与否


这就是为什么输出是不同的

document.getElementsByTagName(“a[href]”)。length为我返回了0,是否已测试?@k102否。出现问题,
getElementsByTagName
不接受属性选择器。更新。谢谢。@k102:可能应该是querySelectorAll()。
document.querySelectorAll('a[href]').length
$('a[href]').length