我正在从头学习javascript.我目前正在尝试掌握DOM.我有一个像这样的HTML页面:
<html>
<head>
<title>javascript</title>
</head>
<body>
<h1>Welcome to javascript</h1>
Visit me <a href="facebook.com">here.</a>
<p> <img id="image" src="kalam.jpg"></p>
<script type="text/javascript" src="code.js">
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在,我想阅读a标签.
var links = document.body.getElementsByTagName("a")[0];
console.log(links.href);
Run Code Online (Sandbox Code Playgroud)
它工作正常.现在我想读图像.
var imageLink = document.body.getElementById("image");
console.log(imageLink.src);
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码不起作用.
我收到一个错误:
未捕获的TypeError:document.body.getElementById不是函数.
将其更改为:
var imageLink = document.getElementById("image");
console.log(imageLink.src);
Run Code Online (Sandbox Code Playgroud)
工作良好.
我的问题是document.body.getEl...和document.getEl..?之间的区别?
不document.body读只有身体的一部分,而document.getEl..读取整个文档,包括标题等?如果是这样,那么上述代码不应该都有效吗?
document.getElementById() 从文档中获取具有匹配ID的元素.
document.body.getElementById() 不存在.
document.getElementsByTagName() 获取与文档中的标记名称匹配的所有元素.
someOtherElement.getElementsByTagName获取与标记名称匹配的所有元素以及哪些元素是其后代someOtherElement.
由于ID必须在HTML文档中是全局唯一的,因此通常不需要该getElementById方法存在于document对象本身以外的任何地方.
| 归档时间: |
|
| 查看次数: |
3676 次 |
| 最近记录: |