首頁  >  問答  >  主體

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

按照官方的解释,getElementById选择的是DOM元素,那么如下代码,选择的p、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  demop = document.getElementById('demop');
            alert(demoLink);
            alert(demop);
            alert(demoSpan);
			
        }
    </script>
</head>
<body>
    <a href="http://www.baidu.com" id="demoLink">这是一个链接</a>
	<span id="demoSpan">这是一个span标签</span>
	<p id="demop">这是一个span标签</p>
</body>
</html>
PHPzPHPz2768 天前882

全部回覆(4)我來回復

  • 数据分析师

    数据分析师2017-10-01 01:13:25

    javascript - getElementById選擇的a標籤為什麼是連結位址而不是object? -PHP中文網問答-javascript - getElementById選擇的a標籤為什麼是連結位址而不是object? -PHP中文網問答

    圍觀一下哦,學習一下。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-10 12:43:23

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

    回覆
    0
  • 迷茫

    迷茫2017-04-10 12:43:23

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

    回覆
    0
  • 怪我咯

    怪我咯2017-04-10 12:43:23

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

    回覆
    0
  • 取消回覆