前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

innerHTML

  在读模式下,返回与调用元素的所有子节点(包括元素、注释和文本节点)对应的 HTML 标记;

  在写模式下,innerHTML 会根据指定的值创建新的 DOM 树,然后用这个 DOM 树完全替换调用元素原先的所有子节点;

  如果将 innerHTML 属性设为空,等于删除所有它包含的所有节点;

  对 innerHTML 属性用"+="操作符重复追加一小段文本通常效率低下,因为它既要序列化又要解析;所以我们一般把"+="操作符重复追加的文本用变量存起来,然后再把变量传给 innerHTML ;

outerHTML

  outerHTML 同样可读可写,与 innerHTML 相比,它包含被查询元素的开始和结束标签(包含它自己)。

  在读模式下 outerHTML 返回调用它的元素及所有子节点的 HTML 标签;

  在写模式下,outerHTML 会根据指定的 HTML 字符串创建新的 DOM子树,然后用这个DOM子树完全替换调用元素;

    <div class="wrapper">
aaaaaaaaa
<span class="test">hello world!</span>
bbbbbbbbb
</div>
<div class="addinnerhtml"></div>
<script type="text/javascript">
var oWrapper = document.getElementsByClassName('wrapper')[0];
var oAddhtml = document.getElementsByClassName('addinnerhtml')[0];
//写入
oAddhtml.innerHTML = '<input type="text" placeholder="添加成功">'; console.log(oWrapper.innerHTML);
//aaaaaaaaa<span class="test">hello world!</span>bbbbbbbbb
console.log(oWrapper.outerHTML);
//<div class="wrapper">aaaaaaaaa<span class="test">hello world!</span>bbbbbbbbb</div>
</script>

innerText

  innerText 属性可以操作元素中包含的所有文本内容,包括子文档树中的文本;

  在通过 innerText 读取值时,它会按照由浅入深地顺序,将子文档树中的所有文本拼接起来;

  在通过 innerText 写入值时,结果会删除元素的所有子节点,插入包含相应文本值的文本节点;

  设置 innerText 属性只会生成当前节点的一个子文本节点Text。因此,可以利用将 innerText 设置为等于 innerText 来去掉当前元素内部的所有 HTML 标签;

outerText

  在读取文本值时,outerText 与 innerText 的结果完全一样;

  但在写模式下,outerText 不只是替换调用它的元素的子节点,而是会替换整个元素;

textContent

  textContent 属性与 innerText 属性类似,该属性可读写。IE8及以下不支持;

  在读模式下,返回当前节点和它的所有后代节点的文本内容;

  在写模式下,结果会删除元素的所有子节点,插入包含相应文本值的文本节点;

  与 innerText 不同的是,textContent 属性不仅属于元素节点 ElementNode,而是属于所有节点 Node(包括文本节点);

        <div class="wrapper">
aaaaaaaaa
<span class="test">hello world!</span>
bbbbbbbbb
</div>
<script type="text/javascript">
var oWrapper = document.getElementsByClassName('wrapper')[0]; console.log(oWrapper.innerText);//aaaaaaaaa hello world! bbbbbbbbb
console.log(oWrapper.outerText);//aaaaaaaaa hello world! bbbbbbbbb console.log(oWrapper.textContent);//aaaaaaaaa hello world! bbbbbbbbb var oText = oWrapper.childNodes[0];
console.log(oText.textContent);//aaaaaaaaa
console.log(oText.innerText);//undefined
</script>

jacascript DOM节点——节点内容的更多相关文章

  1. jacascript DOM节点——元素节点、属性节点、文本节点

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM节点的三个种类:元素节点.文本节点.属性节点: 元素节点 元素节点就是 HTML 标签元素,元素节点 ...

  2. jacascript DOM节点——节点关系与操作

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 节点关系 DOM可以将任何HTML描绘成一个由多层节点构成的结构.每个节点都拥有各自的特点.数据和方法,也 ...

  3. JavaScript HTML DOM 元素(节点)

    JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素 ...

  4. 根据XPATH去查看修改xml文件节点的内容

    首先给出xml文件解析的路径,然后去读取节点的内容. package com.inetpsa.eqc.threads; import java.util.List; import java.io.Fi ...

  5. DOM树节点和事件

    一.前言:DOM树节点是JS的基础语句.通过节点,能够取到HTML代码中的任意标签,从而对其进行修改和添加各种视觉效果. 二.DOM树节点    DOM节点分为三大类: 元素节点,属性节点,文本节点  ...

  6. JavaScript之DOM创建节点

    上几篇文章中我们罗列了一些获取HTML页面DOM对象的方法,当我们获取到了这些对象之后,下一步将对这些对象进行更改,在适当的时候进行对象各属性的修改就形成了我们平时看到的动态效果.具体js中可以修改D ...

  7. dom操作节点之常用方法

    DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...

  8. 围绕DOM元素节点的增删改查

    HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 document 每个 HTML 元素是元素节点 element HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是 ...

  9. jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用 DOM 操作节点,对页面中的表格实现增.删.查.改操作 点击"增加"超链接时,将表格中的第一条数据添加到表格的末尾 ...

  10. 在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?

    主存索引节点和辅存索引节点的不同主要体现在:主存索引节点状态:设备号.索引节点号:引用计数. 主存索引节点状态——反映主存索引节点的使用情况.它指示出: 1.  索引节点是否被锁上了: 2.  是否有 ...

随机推荐

  1. 笔记:XML-解析文档-DOM

    要处理XML文档,就要先解析(parse)他,解析器时这样一个程序,读入一个文件,确认整个文件具有正确的格式,然后将其分解成各种元素,使得程序员能够访问这些元素,Java库提供了两种XML解析器: 像 ...

  2. Python之sqlite3

    Python sqlite3数据库是一款非常小巧的内置模块,它使用一个文件存储整个数据库,操作十分方便,相比其他大型数据库来说,确实有些差距.但是在性能表现上并不逊色,麻雀虽小,五脏俱全,sqlite ...

  3. 小程序实现非swiper组件的自定义伪3D轮播图

    效果如下: 我用了很笨的方法实现的,大致就是: 1.当前点击的div(view)如果前后都有内容,那么,当前div(view)就设置到中间,前一个就设置到左边,前一个的前面所有全部设置到最左边,后面一 ...

  4. 1077. Kuchiguse (20)

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  5. /etc/nginx/nginx.conf配置文件详解

    user nginx; #数值和cpu核数个数一致worker_processes 8; #worker与cpu绑定 worker_cpu_affinity 0001 0010 0100 1000 1 ...

  6. vue-axios基本用法

    废话不多说,直接搞事搞事. 首先安装axios: 1):npm install 2):npm install vue-axios --save 3):npm install qs.js --save ...

  7. 用python程序来画花

    from turtle import * import time setup(600,800,0,0) speed(0) penup() seth(90) fd(340) seth(0) pendow ...

  8. Python处理图片缩略图

    CPU 密集型任务和 IO 密集型任务分别选择多进程multiprocessing.Pool.map 和多线程库multiprocessing.dummy.Pool.map import os imp ...

  9. continue和break的特殊用法。

    break在程序中一般来说的作用就是跳出当前循环,然后再据需执行循环外的语句.continue也是对当前循环来说直接进入到下一次循环.其实我们在程序中有时候循环体嵌套太多,进行到某一步是希望直接bre ...

  10. SpringMVC之HandlerMapping的使用

    上篇博客在了解SpringMVC的工作流程时留了一些疑问,今天先学习下HandlerMapping,在HandlerMapping中可以通过HandlerExecutionChain getHandl ...