首页 > getElementById选择的a标签为什么是链接地址而不是object?

getElementById选择的a标签为什么是链接地址而不是object?

按照官方的解释,getElementById选择的是DOM元素,那么如下代码,选择的div、span、a弹出的都应该是字符串‘object’,可为什么a弹出的却是‘http://www.baidu.com’?怎么解释?

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        window.onload = function (){
            var  demoLink = document.getElementById('demoLink');
            var  demoSpan = document.getElementById('demoSpan');
            var  demoDiv = document.getElementById('demoDiv');
            alert(demoLink);
            alert(demoDiv);
            alert(demoSpan);
			
        }
    </script>
</head>
<body>
    <a href="http://www.baidu.com" id="demoLink">这是一个链接</a>
	<span id="demoSpan">这是一个span标签</span>
	<div id="demoDiv">这是一个span标签</div>
</body>
</html>

因为调用了toString()这一个方法,而这一个方法又是Native Code的。不过可以自定义的。


如果想输出DIV和SPAN里面的内容
可以用
alert(demoDiv.innerText);
alert(demoSpan.innerText);


<a href="http://ooxx.ooxx" id="foo">sample text</a>
<script type="text/javascript">
    var foo = document.getElementById('foo');
    console.log(foo); //打出来就知道了,foo没有问题
    alert(foo); //在这里,关键在于alert这个方法会执行一次toString,javascript中,对HTMLAnchorElement执行toString,得到的就是HTMLAnchorElement.href
    console.log(foo.toString()); // 返回 http://ooxx.ooxx 和alert(foo)一样
</script>
【热门文章】
【热门文章】