美文网首页
DOM的API分类

DOM的API分类

作者: ProgrameLin | 来源:发表于2018-04-21 23:40 被阅读0次

什么是DOM?

Document Object Model(DOM 文档对象模型)是HTML和XML文档的编程接口, DOM相当于是文档的一种规范, 可以通过编码对DOM结构进行访问, 作用就是改变页面的构成, 样式, 内容。DOM将web页面文档解析成由节点和若干对象(包含属性和方法的对象)组成的集合。

我们经常听到的DOM树就类似于下面这种情况


Snip20180421_6.png

如何访问DOM?

当在创建一个脚本时, 无论是使用内嵌或者是<script>标签都可以通过windowdocument提供的API来操作文档或者是获取节点。
比如:

<!-- 在页面加载的时候弹出提示框 -->
<body onload="window.alert('welcome to my home page!');">

也可以这么做

<script>
    // 页面加载完成后调用该函数
       window.onload = function() {

      // 创建一个新的标签h1
       heading = document.createElement("h1");
  
      // 创建一个新的文本节点
       heading_text = document.createTextNode("Big Head!");

      // 把文本节点放入到h1 标签中, 也就是说h1的内容为 "Big Head!"
       heading.appendChild(heading_text);

       // 把h1 标签追加到body中可以显示出来
       document.body.appendChild(heading);
      }
    </script>

DOM的几种数据类型

document        表示的就是DOM树, 表示文档本身
element         表示一个元素或者节点
nodeList        是一个元素数组, 包含多个元素, 可以通过node[1] 或者node.item(1)访问
attribute       表示节点或者元素的属性

需要注意的问题

整个文档是一个文档节点
每个HTML元素是一个元素节点
HTML中的文本是文本节点
HTML的属性是属性节点

每个文档节点都会有一个根(root)节点
每个节点都会有父节点(parent 除了根节点)
每个节点都会有若干个子节点(child)
同胞(sibling)节点就意味着有相同的父节点

DOM API的种类

获取节点
getElementById()        根据ID获取元素
getElementsByTagName()        返回一个或多个带有指定标签的元素集合
getElementsByClassName()        返回指定className的元素集合
创建节点
createElement()        创建元素节点
createTextNode()        创建文本节点
属性操作
createAttribute()      创建属性节点

getAttribute()        返回指定的属性值

setAttribute()      指定属性设置或修改为指定的值
增加、删除、替换节点
appendChild()        把节点追加到指定节点

removeChild()        删除子节点

replaceChild()        替换子节点

insertBefore()        在指定的子节点前面插入新的节点
获取元素内容
innerHTML         获取元素内容
childNodes 和 nodeValue

nodeName        节点的名称
nodeValue        节点的值
    

比如在页面中
<h1 id='h'>welcom to china~</h1>

// 通过innerHTML获取
var txt = document.getElementById('h').innerHTML;

console.log(txt);

// 通过childNodes 和 nodeValue获取
var text = document.getElementById('h').childNodes[0].nodeValue;

console.log(text);
修改样式
var element = document.getElementById('h');

element.style.color = 'blue';
事件操作

DOM允许JavaScript对HTML的事件作出相应

// 页面中的h1 标签
<h1 onmouseover="mouseOn(this)"
      onmouseout ="mouseOut(this)"
      >welcom to china~</h1>

// 对应的js脚本
// 鼠标悬停到h1 标签上, 修改文本为 Mouse On Now!!!
function mouseOn(obj) {
  
  obj.innerHTML = "Mouse On Now!!!";
}

// 鼠标不再悬停在标签上面的时候, 显示 Mouse out Now!!!
function mouseOut(obj) {
  obj.innerHTML = 'Mouse out Now!!';
}


还有其他事件:
onclick    点击(先onmousedown 然后 onmouseup 这两个过程完成后才触发onclick)
onload    进入/加载界面
onunload    开开界面
onchange     输入事件
onmousedown        鼠标点击
onmouseup       鼠标点击后摊开

相关文章

  • DOM的API分类

    什么是DOM? Document Object Model(DOM 文档对象模型)是HTML和XML文档的编程接口...

  • JS: DOM API

    因为DOM本来是为XML设计的,而HTML也用这个API,所以很难用 分类 Node API Element AP...

  • 什么是dom树

    介绍DOM,以及对DOM分类和功能的说明。 DOM 节点:介绍DOM节点分类和节点层次。 介绍HTML DOM节点...

  • 【DOM】DOM的操作(增删改查)

    操作DOM的核心就是增删改查 参考: JavaScript DOM编程——API详解 目录 一、节点创建型API ...

  • DOM轻松学习之旅(一)

    DOM简述 DOM 的作用 === 表示 HTML 文档 DOM 提供的 API === 查询,修改 HTML 文...

  • DOM对象和jQuery对象

    (1)、DOM对象只能访问DOM对象的API (2)、jQuery对象只能访问jQuery对象的API (3)、D...

  • 简单模仿两个jQuery API

    这篇博客主要是使用DOM API进行封装模仿jQuery API的实现。在平常写代码时常常会发现DOM API在大...

  • 12 DOM2 和 DOM3

    本章内容 DOM2 和 DOM3 的变化 操作样式的 DOM API DOM 遍历与范围 12.1 DOM 变化 ...

  • DOM常用API

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作...

  • jQuery中的DOM操作

    DOM操作的分类     DOM操作分为3个方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。 ...

网友评论

      本文标题:DOM的API分类

      本文链接:https://www.haomeiwen.com/subject/djnflftx.html