1.DOM对象简介:

  1. 什么是DOM:(Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。

    2.DOM HTML 节点树:指的是DOM中为操作HTML文档提供的属性和方法,其中,文档(Document)表示HTML文件,文档当中HTML标签称之为元素(Element),文档当中所有内容称之为节点(Node)。因此HTML文件可以看成是所有元素组成的节点树,元素与元素之间有级别划分。

    3.关系图解:

  1. 根节点:图中的<html>标签是整个文档的根节点(有且只有一个)。
  2. 子节点:指的是文档中某个节点的下一级节点,例如,图中 <head> 和 <body> 节点是 <html> 节点的子节点。
  3. 父节点:指的是文档中某个节点的上一级节点,例如,图中 <html> 元素是 <head> 和 <body> 的父节点。
  4. 兄弟节点:两个节点同属于一个父节点,例如,图中<a>和<h1>标签互为兄弟几点。

2.HTML元素操作:

  1. 根据指定ID获取指定DOM元素(推荐使用):例如获取ID为btn的按钮:

    <!DOCTYPE html>
    <html lang="zh">
    <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>Document</title>
    </head>
    <body>
    <!--按钮-->
    <button id="btn"></button>
    <script type="text/javascript">
    var btn = document.getElementById("btn");
    console.log(btn);
    </script>
    </body>
    </html>
  2. 根据clas类名获取DOM元素:例如获取class名为.header的元素:
    <!DOCTYPE html>
    <html lang="zh">
    <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>Document</title>
    </head>
    <body>
    <nav class="header"> </nav>
    <script type="text/javascript">
    var header = document.getElementsByClassName('header');
    console.log(header);
    </script>
    </body>
    </html>

    说明:因为类名是可以重复的 所以获取的时候要注意,如果需要指定获取是某一个类可以根据索引来操作 例如获取页面class名为itms的第二个<li>标签代码如下:

    <!DOCTYPE html>
    <html lang="zh">
    <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>Document</title>
    </head>
    <body>
    <ul>
    <li class="itms"><a href="">我是第1个li</a></li>
    <li class="itms"><a href="">我是第2个li</a></li>
    <li class="itms"><a href="">我是第3个li</a></li>
    <li class="itms"><a href="">我是第4个li</a></li>
    </ul>
    <script type="text/javascript">
    /*
    * 需求:根据类名获取第2个li标
    * */
    //var li0 = document.getElementsByClassName('itms'); //这里是 class名为itms的集合
    //console.log(li0);//注意这里是获取文档中所有类名为 itms 的标签
    var li02 = document.getElementsByClassName('itms')[1];// 后面加上标签的索引即可
    console.log(li02);
    </script>
    </body>
    </html>
  3. 根据标签名获取指定DOM元素(几乎不用):
    <!DOCTYPE html>
    <html lang="zh">
    <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>Document</title>
    </head>
    <body>
    <div></div>
    <p></p>
    <p></p>
    <script type="text/javascript">
    //获取页面所有的div标签
    var getDiv = document.getElementsByTagName('div');
    console.log(getDiv);
    //获取页面中所有的p标签
    var getP = document.getElementsByTagName('p');
    console.log(getP);
    </script>
    </body>
    </html>
  4. 根据元素的name属性获取元素:

    <!DOCTYPE html>
    <html lang="zh">
    <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>Document</title>
    </head>
    <body> <label for="">请输入密码:</label>
    <input type="text" name="search" id="" value="" />
    <script type="text/javascript">
    //获取属性名(name)为search的标签
    var search = document.getElementsByName('search');
    console.log(search);
    </script>
    </body>
    </html>

最新文章

  1. WCF学习之旅—请求与答复模式和单向模式(十九)
  2. linux软raid练习
  3. mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较
  4. 【代码笔记】iOS-离线地图
  5. 2016年11月25日 星期五 --出埃及记 Exodus 20:16
  6. 《OD学hive》第四周0717
  7. PC问题-VMware Workstation出现“文件锁定失败”
  8. # Day04-Android
  9. oracle模糊查询效率可这样提高
  10. yii gridview columns value 内容如何换行 &amp; 链接
  11. SharedPreferences基础
  12. MockObject
  13. 【转】Appium 服务器端从启动到case完成的活动分析
  14. 小言HTTP Authentication
  15. 你可能不知道的.Net Core Configuration
  16. 8分钟学会使用AutoMapper
  17. 【English】主语从句的引导词是如何选择?
  18. codeforces 979C Kuro and Walking Route
  19. pv,uv的意义
  20. HGOI20180817 (NOIP模拟Day1 task)

热门文章

  1. 352. Data Stream as Disjoint Intervals (TreeMap, lambda, heapq)
  2. [UE4]C++设置AnimInstance的相关问题
  3. css正方形盒子 自适应
  4. IT兄弟连 JavaWeb教程 创建异步请求对象
  5. Git 深度学习填坑之旅一(git安装和配置、基本命令)
  6. 关于java多线程任务执行时共享资源加锁的方式思考
  7. window.location.origin兼容问题
  8. [Java]三大特性之封装
  9. Ubuntu系统修改服务器的静态ip地址
  10. Django使用网站图标