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. jQuery在多个div中,删除指定项

    之前工作中有一个需求,就是在一堆图片列表中,点击具体的图片,并从界面移除:点击具体的图片,下载:这是一个思路 <style type="text/css" media=&qu ...

  2. mac修改默认打开方式

    首先选中你要修改默认打开方式的文件,右键单击这个文件,在弹出的菜单中,选择“查看简介”: 然后在弹出的菜单中,找到“打开方式”选项,从下来的菜单中,找到你希望默认打开这个文件的程序: 然后点击下面的“ ...

  3. HDU 1203 I NEED A OFFER!【01背包】

    解题思路:攒下的钱n相当于包的容量,然后是m个学校的申请费用,申请费用相当于每一个物品的消耗,得到offer的概率相当于每一个物品的价值. 因为要求的是至少得到一份0ffer的概率的最大概率,可以转化 ...

  4. OCR文字识别软件FineReader系列产品双十一特惠!

    17年的双十一,似乎比以往来的更早一些,说是双十一,这不,从十月里就开始了各种宣传,各种造势,说到底还是影响力太大,关注人群太多,优惠力度太劲爆,简直让人不注意都不行啊!对于ABBYY来说,给用户来点 ...

  5. 值得尝试的十款 GNOME Shell 扩展

    值得尝试的十款 GNOME Shell 扩展 作者: JACK WALLEN 译者: 核子可乐 | 2016-09-22 17:10   评论: 6 收藏: 1 当 GNOME Shell(即 GNO ...

  6. 使用短信猫发送短信java代码

    短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 发送短信: package utils; import org.smslib.AGate ...

  7. Ibatis在运行期得到可执行到sql

    环境:oracle-11g ,ibatis-2.0 ,java-1.7 最近因为有个需要是在程序中得到ibatis到sql字符串,即通过以下的ibatis配置得到sql语句 <select id ...

  8. node——module.exports

    module.exports 1. 在a.js中 var b=require('./b.js'); console.log(b); 在b.js中 function add(x,y){ return x ...

  9. phpstorm中,光标变成一个长方红色块,如何调回来?

    今天使用phpstorm,不知道碰到了什么,光标变成长方红色块(如图),搞半天终于调回来了,变回了细细的竖线,记录一下: 其实按一下insert键就可以了

  10. h5性能优化,细节决定结果。

    介绍一些最近整理的优化细节.图片压缩什么的就不说了,这是优化必须做的.今天就说一下大家写代码时可以培养的优化的细节点. 不滥用float.不滥用web字体. Float在渲染时计算量比较大,并且会脱标 ...