所谓DOM(HTML Document Object Model),即HTML 文档对象模型,其作用是定义了访问和处理 HTML 文档的标准方法。HTML DOM 把 HTML 文档中的标签、属性和文本当做节点,将它们呈现为带有元素、属性和文本的树结构(节点树)。
一、在DOM中,HTML 文档中的每个成分都是一个节点;
1. 整个文档是一个文档节点 ;
2. 每个 HTML 标签是一个元素节点 ;
3. 包含在 HTML 元素中的文本是文本节点 ;
4. 每一个 HTML 属性是一个属性节点 ;
5. 注释属于注释节点 ;
二、在DOM中,节点是有层次划分的,这些关系是相对的;
父节点:在上图中,<head>节点是<title>节点和<meta>节点的父节点;
子节点:在上图中,<h1>节点和<p>节点是<body>的子节点;
同级节点:在上图中,<h1>节点和<p>节点是同级节点,<title>节点和<meta>节点是同级节点;
祖先:在上图中,<html>节点和<body>节点都是<p>节点的祖先(祖辈);
后代:在上图中,<body>节点和<p>节点都是<html>节点的后代(后辈);
三、访问节点;
(1) document.getElementById(id)
通过对元素的ID访问,这是DOM一个基础的访问页面元素的方法.返回的是单个节点
(2) document.getElementsByName(name)
仅用于inputradio checkbox等元素,返回名字为name的元素数组返回的是节点列表
(3) document.getElementsByTagName(tagname)
返回具有tagname的元素列表数组.处理大的DOM结构会用到它返回的是节点列表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>轮播图</title>
<style>
div {
width: 500px;
height: 300px;
margin: 50px auto;
overflow: hidden;
/* 超出高度部分隐藏 */
position: relative;
}
img {
width: 500px;
height: 300px;
}
p {
width: 500px;
height: 30px;
position: absolute;
z-index: 1000;
bottom: 0;
left: 0;
color: #ffffff;
text-align: center;
line-height: 30px;
}
p span {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
background: rgba(254, 254, 254, 0.6);
border-radius: 50%;
line-height: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<div id="photo">
<a href=""><img src="static/images/1.jpg"></a>
<a href=""><img src="static/images/2.jpg"></a>
<a href=""><img src="static/images/3.jpg"></a>
<a href=""><img src="static/images/4.jpg"></a>
<a href=""><img src="static/images/5.jpg"></a>
<p>
<span onclick="change(0)">1</span>
<span onclick="change(1)">2</span>
<span onclick="change(2)">3</span>
<span onclick="change(3)">4</span>
<span onclick="change(4)">5</span>
</p>
</div>
<script>
function change(num){
var obj = document.getElementById('photo');
var obj_a = obj.getElementsByTagName('a');
for (var i = 0; i < obj_a.length; i++) {
obj_a[i].style.display="none";
}
obj_a[num].style.display="block";
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号