DOM

作者: AndyRony | 来源:发表于2018-04-23 10:41 被阅读0次

概念:HTML DOM 定义了访问和操作 HTML 文档的标准方法。

DOM 将 HTML 文档表达为树结构。HTML DOM 定义了所有 HTML 元素的对象属性,以及访问它们的方法换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。

整个文档是一个文档节点,每个 HTML 元素是元素节点,HTML 元素内的文本是文本节点,每个 HTML 属性是属性节点,注释是注释节点

父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

1.访问 HTML 元素(节点)

getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:html中,<p id="intro"></p> 对应js中var element=document.getElementById("intro");

getElementsByTagName() 方法

getElementsByTagName() 返回带有指定标签名的所有元素。document.getElementsByTagName("p");

getElementsByClassName() 方法

查找带有相同类名的所有 HTML 元素document.getElementsByClassName("intro");

getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。

2.innerHTML 属性

获取元素内容的最简单方法是使用 innerHTML 属性。innerHTML 属性对于获取或替换 HTML 元素的内容很有用。

<p id="intro">Hello World</p>,获取元素内容:

var txt  =  document.getElementById("intro").innerHTML;

document.getElementById("intro").innerHTML = “可替换的文字”;

3.nodeName 属性

nodeName 属性规定节点的名称。nodeName 是只读的,元素节点的 nodeName 与标签名相同,属性节点的 nodeName 与属性名相同,文本节点的 nodeName 始终是 #text,文档节点的 nodeName 始终是 #document,nodeName 始终包含 HTML 元素的大写字母标签名。例如<button>对应的nodeName是“BUTTON”

4.nodeValue 属性

nodeValue 属性规定节点的值。元素节点的 nodeValue 是 undefined 或 null,文本节点的 nodeValue 是文本本身,属性节点的 nodeValue 是属性值

5.改变 HTML 样式

<p id="p2">Hello world!</p>

document.getElementById("p2").style.color="blue";

6.appendChild创建新的 HTML 元素,如需向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。

    var para=document.createElement("p");这段代码创建了一个新的

元素<p>:

   var node=document.createTextNode("This is new.");//如需向<p>

元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:

   para.appendChild(node);//然后您必须向<p>

元素追加文本节点:

   var element=document.getElementById("d1");

   element.appendChild(para);最后,您必须向已有元素追加这个新元素。

 insertBefore()

    var child=document.getElementById("p1");

    element.insertBefore(para,child);

removeChild()

      var parent=document.getElementById("div1"); 

      var child=document.getElementById("p1");

      parent.removeChild(child);

replaceChild()

      var parent=document.getElementById("div1");

      var child=document.getElementById("p1");

       parent.replaceChild(para,child);

相关文章

  • dom 级别和dom 事件处理

    dom级别:dom0 dom1 dom2 dom3 dom事件处理:dom0 dom2 dom3 (1级DOM标准...

  • WY-DOM编程

    DOM Document Object Model DOM Core DOM HTML DOM Style DOM...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级DOM事件:DOM0级事件处理、...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级,DOM1级,DOM2级和DOM3级DOM事件:DOM0级事件处理,...

  • js红包雨活动

    function Block( dom ){ this.dom = dom; //dom this.parentW...

  • DOM操作的分类

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

  • 虚拟 DOM 和 diff 算法

    虚拟 DOM(Virtual DOM) 通过 JS 对象表示 DOM 结构,虚拟DOM 是对 DOM 的抽象 通常...

  • jQuery——DOM

    DOM操作分类 一般来说,DOM操作分为3个方面,即DOM Core、HTML-DOM、CSS-DOM。 DOM ...

  • JavaScript高级程序设计前四章

    1. DOM级别 1.1 DOM1级 由DOM核心(DOM Core)和DOM HTML两个模块组成。 DOM核心...

  • DOM分级详解

    DOM1 级(DOM Level 1) DOM1 级由两个模块组成:DOM核心(DOM Core)和DOM HTM...

网友评论

      本文标题:DOM

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