关于用getElementsByTagName弹出[object HTMLCollection]的问题
- HTML code
<!DOCTYPE html><html><head> <title></title> <script type="text/javascript"> var a = document.getElementsByTagName('a'); alert(a); </script></head><body><a href="#"></a><a href="#"></a><a href="#"></a><a href="#"></a></body></html>不是应该获取所有a标签的一个列表吗?为什么会弹出object HTMLCollection呢?而且我用alert(a[0])弹出的是undefined?
[解决办法]
代码顺序的问题,JS代码位于目标元素之前,代码被执行时目标元素还没有加载到DOM树中。
- HTML code
<!DOCTYPE html><html><head><title></title></head><body><a href="#">DEMO</a><a href="#"></a><a href="#"></a><a href="#"></a> <script type="text/javascript">var a = document.getElementsByTagName('a');alert(a[0].innerHTML);</script></body></html>
[解决办法]
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<script type="text/javascript">
var a = document.getElementsByTagName('a');
alert(a[0].innerHTML);
</script>
</body>
</html>
script放dom之后,或window.onload里