为什么getElementsByTagName()[0]返回但是getElementById()[0]返回未定义?

时间:2013-07-30 01:36:12

标签: javascript jquery getelementbyid getelementsbytagname

我正在尝试以下代码并获得以下结果

console.log(document.getElementsByTagName('a')[0]); //retuns <a id="link" href="http://stackoverflow.com/questions/ask"></a>

console.log($('a')[0]);//retuns <a id="link" href="http://stackoverflow.com/questions/ask"></a>

console.log(document.getElementById('link'));//retuns <a id="link" href="http://stackoverflow.com/questions/ask"></a>

console.log(document.getElementById('link')[0]);// returns undefined 

console.log($('#link')[0]); //retuns <a id="link" href="http://stackoverflow.com/questions/ask"></a>

任何人都可以告诉为什么这个(console.log(document.getElementById('link')[0]);// returns undefinedconsole.log($('#link')[0]); //retuns <a id="link" href="http://stackoverflow.com/questions/ask"></a>)有线行为?

Demo

1 个答案:

答案 0 :(得分:4)

getElementsByTagName(复数)返回一个数组。

getElementById(单数)返回单个元素(或null)。