1.node节点(更详细的获取(设置)页面中所有的内容)
 
 
 
 
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
 
元素是节点的别称,节点包含元素当然节点还有好多细化的种类;
 
 
 
有元素节点、属性节点、文本节点.......
 
节点的关系从这里真正的体现出来
 
 
 
 
根节点:root>>>>HTML没有父节点;
 
节点操作:(通过父子系关系)
 
childNodes:获取当前元素的所有子节点;
 
nodeType:节点种类,返回值是数字;
 
nodeValue: 获取(文字)节点的文本内容;
 
nodeName:返回node节点名称(#text,注释, 标签....);
 
一个可以找出元素节点的方法;
 
 
常见的节点类型:
 
1            元素(div、body、li、span ....... ) 
 
2*           属性代表属性节点 (class,src,href)
 
3            文本节点(text节点)
 
8            代表注释节点
 
9            代表document节点;
 
2.innerHTML和nodeValue;(当innerHTML和nodeValue分别作为左值的时候)
 
 box.innerHTML = '<strong>abc</strong>';
 
 box.childNodes[0].nodeValue = '<strong>abc</strong>';
 
innerHTML会将标签解析;
 
nodeValue不会进行解析,会将标签名转译成字符串,直接输出;
 
3.attribute属性
 
    document.getElementById('box').attributes    //  获取所有,该节点的属性信息;
 
    document.getElementById('box').attributes.length;//返回属性节点个数
 
    document.getElementById('box').attributes[0]; //返回第一个属性节点
 
    document.getElementById('box').attributes[0].nodeType; //2,属性
 
    document.getElementById('box').attributes[0].nodeValue; //属性值
 
    document.getElementById('box').attributes['id']; //返回属性为 id 的节点
 
    document.getElementById('box').attributes.getNamedItem('id'); // 获取 id 的节点;
 
     一般只用作获取;
 
4.节点操作
 
     DOM不仅仅可以获取设置节点,还可以创建,删除,复制、插入、替换节点;
 
     write()方法,是写入,和innerHTML类似;
 
     node三剑客
 
 
 
      createElement()创建一个节点;
 
          var oDiv=document.createElement('div')
 
      createTextNode()创建一个文字节点;
 
          var oText=document.createTextNode('dddd');
 
     oDiv.appendChild(oText)  将一个节点插入到另一个节点上;
 
      box.insertBefore(newNode, existNode) 把new node插入到existNode之前;
 
     oDiv.insertBefore(document.createTextNode('eeeeee'),oDiv.childNodes[0]) ;
 
      box.removeChild(oText) 删除节点
 
++定位
 
     offsetParent 这个属性的返回值是它根据谁定位的,如果它的所有父元素都没有定位,那么返回body
 
     offsetLeft          这个属性返回元素的左侧偏移值;
 
     offsetTop        这个属性返回元素的右侧偏移值;
     
     获取元素相对于窗口的绝对定位;
 
 
5.替换操作
 
 var p=document.createElement('p')
 
 oDiv.parentNode.replaceChild(p,oDiv);
 
6.复制节点
     
        var oDiv=document.getElementById('box');
 
        var clone=oDiv.cloneNode(true);
 
        oDiv.appendChild(clone)
 
        console.log(clone)
 
7.遍历节点(根据某一个节点位置找到它的父子、兄弟节点)
 
 父子节点:
 
 
 
 
 
 
 
兄弟节点:
 
 
 
 
 
 
 
 
 
     父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称      为同胞(兄弟或姐妹)。
 
     childNodes 获取当前元素节点的所有子节点
   
    firstChild 获取当前元素节点的第一个子节点
 
    lastChild | lastElementChild 获取当前元素节点的最后一个子节点
 
    ownerDocument 获取该节点的文档根节点,相当与 document
 
    parentNode 获取当前节点的父节点
 
    previousSibling 获取当前节点的前一个同级节点
 
    nextSibling 获取当前节点的后一个同级节点
 
案例
1.Table图片切换;
 
 
        2.聊天对话;
 
 
        3.隔行变色之鼠标移入变色
 
 
 

javascript系列-class10.DOM(下)的更多相关文章

  1. javascript系列之DOM(一)

    原文:javascript系列之DOM(一) DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式 ...

  2. javascript系列之DOM(二)

    原文:javascript系列之DOM(二) 原生DOM扩展 我们接着第一部分来说,上文提到了两种常规的DOM操作:创建文档片段和遍历元素节点.我们知道那些雨后春笋般的库,有很大一部分工作就是提供了一 ...

  3. javascript系列之DOM(三)---事件

    原文:javascript系列之DOM(三)---事件 事件是javascript跳动的心脏,是DOM所有成分结合的万金油.当我们在WEB 上进行某些交互时,事件也就发生了.点击某些内容,鼠标经过特定 ...

  4. javaScript系列 [27]- DOM

    本文将详细介绍DOM相关的知识点,包括但不限于Document文档结构.Node节点.Node节点的类型.Node节点的关系以及DOM的基本操作( 节点的获取.节点的创建.节点的插入.节点的克隆和删除 ...

  5. javascript系列-class9.DOM(上)

    欢迎加入前端交流群交流知识获取视频资料:749539640 1.文档对象模型DOM(document Object Model)        所谓DOM就是以家族的形式描述HTML       节点 ...

  6. 深入理解JavaScript系列(24):JavaScript与DOM(下)

    介绍 上一章我们介绍了JavaScript的基本内容和DOM对象的各个方面,包括如何访问node节点.本章我们将讲解如何通过DOM操作元素并且讨论浏览器事件模型. 本文参考:http://net.tu ...

  7. 高性能javascript学习笔记系列(3) -DOM编程

    参考 高性能javascript 文档对象模型(DOM)是独立于语言的,用于操作XML和HTML文档的程序接口API,在浏览器中主要通过DOM提供的API与HTML进行交互,浏览器通常会把DOM和ja ...

  8. 深入理解JavaScript系列

    转自http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 深入理解JavaScript系列(1):编写高质量JavaScript代码 ...

  9. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

随机推荐

  1. USACO 1.5 Superprime Rib

    Superprime Rib Butchering Farmer John's cows always yields the best prime rib. You can tell prime ri ...

  2. webservice为什么不能用List参数,而只能用数组代替,我想是否因为List没有具体的类型信息,但用泛型的List(如:List<customer>)为什么也不行。如果用作参数的类中含有List<T>字段该如何处理?webservice参数是否支持

    转自:https://social.microsoft.com/Forums/zh-CN/aded4301-b5f1-4aa6-aa46-16c46a60d05e/webservice20026201 ...

  3. webstorm配置Monokai-Sublime.jar主题

    https://github.com/OtaK/jetbrains-monokai-sublime 导入下载的Monokai-Sublime.jar jar包即可使用.

  4. 36.QT地图

    widget.h #ifndef MAPWIDGET_H #define MAPWIDGET_H #include <QGraphicsView> #include <QLabel& ...

  5. Redis学习笔记(七) 基本命令:Set操作

    原文链接:http://doc.redisfans.com/set/index.html 虽然set和list很相似但还是有一些差别的,如set中的顺序没有先后之分,所以不像list一样可以在首尾增删 ...

  6. Android local socket学习总结

    转载请注明出处: http://blog.csdn.net/xiexh0921/article/details/7513628   ################################## ...

  7. mysql学习 2

    1.建立外键 create table <表名>( <字段> 字段类型 not null, <字段> 字段类型 not null, <字段> 字段类型 ...

  8. EFCore笔记之异步查询

    当在数据库中执行查询时,异步查询可避免阻止线程. 这有助于避免冻结富客户端应用程序的 UI.异步操作还可以增加 Web 应用程序的吞吐量,可以在数据库操作完成时释放线程去处理其他请求. Entity ...

  9. Java基础——Servlet

    什么是Servlet Servlet是Java Web的三大组件之一,它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要: l  ...

  10. 如何使用图形界面Webmin管理linux服务器

    出处:http://linux.cn/thread/11992/1/1/ 如何使用图形界面Webmin管理linux服务器 一台典型的linux服务器运行命令行环境中,并已经包括了一些用于安装和配置各 ...