ホームページ  >  に質問  >  本文

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日前879

全員に返信(4)返信します

  • 数据分析师

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

    javascript - getElementById によって選択されるタグがオブジェクトではなくリンク アドレスであるのはなぜですか? -PHP中国語サイトQ&A-javascript - getElementByIdで選択されるタグがオブジェクトではなくリンクアドレスなのはなぜですか? -PHP中国語サイトQ&A

    ぜひ見て学んでください。

    返事
    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
  • キャンセル返事