官方把getElementById解释为根据指定的 id 属性值得到对象,那么下面的这段代码获得的不就应该是“a标签”吗?那alert弹出的不应该是“a”这个字符串吗?怎么弹出的是链接地址“http://www.baidu.com”呢?
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function associate (a) {
alert (a);
}
window.onload = function (){
//var link = document.getElementsByTagName("a")[0];
var  link = document.getElementById('simple');
alert(link);
}
</script>
</head>
<body>
<a href="http://www.baidu.com" id="simple">这是一个链接</a>
</body>
</html>

解决方案 »

  1.   

    那链接就默认会弹出href属性了 。比较特殊点 。
    其它的会弹出Object 。如果要知道是什么标签 ,link.tagName 。
      

  2.   

    返回的是DOM对象
    alert(参数) 参数要求是字符串, 默认调用了 link.toString()
    要返回a 调用 alert(link.tagName)<!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function associate (a) {
                alert (a);
            }
            window.onload = function (){
                //var link = document.getElementsByTagName("a")[0];
                var link = document.getElementById('simple');
                var s = ""
                for(e in link){
                 s += e + ":" + link[e] + "\n";
                }
                document.getElementById('t').value = s;
            }
        </script>
    </head>
    <body>
        <a href="http://www.baidu.com" id="simple">这是一个链接</a>
    <textarea id="t" rows="50" cols="50"></textarea>
    </body>
    </html>
      

  3.   

    是除了a标签,其他的标签都弹出object的吗?
      

  4.   

    其他标签toString()是什么就弹出什么
      

  5.   

    hookee哥的解释永远那么到位 我必须赞!!!