官方把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>
<!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>
其它的会弹出Object 。如果要知道是什么标签 ,link.tagName 。
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>