1 DOM概念

1-1什么是DOM

W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、样式和结构。 HTML Dom是关于如何增,删,改,查 HTML 元素的标准。

DOM的支持性:凡是好用的IE9以下都不支持
DOM:document object model
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
第四章 DOM和事件 - 图1

1-2节点

节点树就是由一个个节点组成
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
第四章 DOM和事件 - 图2

2 获取DOM

2-1 getElementById() 通过id来获取

  1. <div id="app">
  2. </div>
  3. <div class="one">one1</div>
  4. <div class="one">one2</div>
  5. <div class="one">one3</div>
  6. <script>
  7. var app = document.getElementById("app")
  8. // console.log(app);
  9. </script>

2-2 getElementsByTagName() 返回带有指定标签名的对象的集合

  • HTMLCollection(HTML集合),不是数组 类数组对象,可以使用数组的属性,可以for循环 ```javascript
    hello world

var app = document.getElementsByTagName(“div”)

// app HTMLCollection(HTML集合),不是数组 类数组对象,可以使用数组的属性,可以for循环 console.log(Array.isArray(app)); // false console.log(app.length); for(var i = 0;i<app.length;i++){ console.log(app[i]); }

  1. <a name="VSK6H"></a>
  2. ### 2-3 getElementsByClassName()通过class来获取
  3. - **实例 点击某个div消失**
  4. ```javascript
  5. <div class="one">hello 1</div>
  6. <div class="one">hello 2</div>
  7. <div class="one">hello 3</div>
  8. <div class="one">hello 4</div>
  9. <script>
  10. /*
  11. this --> 在事件中,谁执行事件,this就指谁
  12. */
  13. var all = document.getElementsByClassName("one")
  14. for(var i=0;i<all.length;i++){
  15. // 不能对HTML Collection 执行点击事件,只能对具体元素执行事件
  16. all[i].onclick=function(){
  17. // console.log(this)
  18. this.style.display = "none";
  19. }
  20. }
  21. console.log(all)
  22. </script>

2-4 querySelectorAll

3 操作节点的样式

  1. 修改元素节点的内容
  2. innerHTML
  3. 修改样式
  4. object.style.color="pink";
  5. object.style["color"]="pink";