- 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里