按照官方的解释,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>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
javascript - getElementById选择的a标签为什么是链接地址而不是object?-PHP中文网问答-javascript - getElementById选择的a标签为什么是链接地址而不是object?-PHP中文网问答
围观一下哦,学习一下。
<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>因为调用了toString()这一个方法,而这一个方法又是Native Code的。不过可以自定义的。
如果想输出p和SPAN里面的内容
可以用
alert(demop.innerText);
alert(demoSpan.innerText);