jacascript DOM节点——节点内容
前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!
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节点——节点内容的更多相关文章
- jacascript DOM节点——元素节点、属性节点、文本节点
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM节点的三个种类:元素节点.文本节点.属性节点: 元素节点 元素节点就是 HTML 标签元素,元素节点 ...
- jacascript DOM节点——节点关系与操作
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 节点关系 DOM可以将任何HTML描绘成一个由多层节点构成的结构.每个节点都拥有各自的特点.数据和方法,也 ...
- JavaScript HTML DOM 元素(节点)
JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素 ...
- 根据XPATH去查看修改xml文件节点的内容
首先给出xml文件解析的路径,然后去读取节点的内容. package com.inetpsa.eqc.threads; import java.util.List; import java.io.Fi ...
- DOM树节点和事件
一.前言:DOM树节点是JS的基础语句.通过节点,能够取到HTML代码中的任意标签,从而对其进行修改和添加各种视觉效果. 二.DOM树节点 DOM节点分为三大类: 元素节点,属性节点,文本节点 ...
- JavaScript之DOM创建节点
上几篇文章中我们罗列了一些获取HTML页面DOM对象的方法,当我们获取到了这些对象之后,下一步将对这些对象进行更改,在适当的时候进行对象各属性的修改就形成了我们平时看到的动态效果.具体js中可以修改D ...
- dom操作节点之常用方法
DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...
- 围绕DOM元素节点的增删改查
HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 document 每个 HTML 元素是元素节点 element HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是 ...
- jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作
查看本章节 查看作业目录 需求说明: 在 jQuery 中使用 DOM 操作节点,对页面中的表格实现增.删.查.改操作 点击"增加"超链接时,将表格中的第一条数据添加到表格的末尾 ...
- 在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?
主存索引节点和辅存索引节点的不同主要体现在:主存索引节点状态:设备号.索引节点号:引用计数. 主存索引节点状态——反映主存索引节点的使用情况.它指示出: 1. 索引节点是否被锁上了: 2. 是否有 ...
随机推荐
- NodeJs实现下载Excel文件
nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...
- Quikapp快应用开发入门
快应诞生背景 微信的小程序使得很多原来需要调动APP的场景不复存在,正式由于微信小程序的冲击,3月20日,华为联手九大手机厂商,共同举办了“快应用”标准启动发布会.“快应用”是几家手机厂商基于硬件平台 ...
- Spring Boot应用的后台运行配置
酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Mave ...
- CXF 开发 REST 服务
今天我们将视角集中在 REST 上,它是继 SOAP 以后,另一种广泛使用的 Web 服务.与 SOAP 不同,REST 并没有 WSDL 的概念,也没有叫做"信封"的东西,因为 ...
- Hibernate 介绍及其 环境搭建
介绍 数据持久化概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如:文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型, ...
- postman简单教程-环境变量,全局变量的设置及作用
讲postman环境变量设置之前,先讲一个小插曲,环境变量.全局变量的区别在于Globals,只能用一组,而Environmen可以设置多组,所以我更喜欢设置环境变量 1.环境变量-Environme ...
- Java多线程:队列与阻塞队列
1. 什么是阻塞队列 阻塞队列(BlockingQueue)是 Java 5 并发新特性中的内容,阻塞队列的接口是 java.util.concurrent.BlockingQueue,它提供了两个附 ...
- Week03-面向对象入门
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词,如类.对象.封装等 类 对象 封装 继承 覆盖 重载 构造函数 static public private toString f ...
- python中使用flask时遇到的markupsafe._compat包缺失的问题与解决
环境:windows7 + python3.6.0 在尝试使用python的flask时,按照flask的tutorial操作,装好flask.venv后,对tutorial中的hello.py进行运 ...
- TSP-旅行商问题
#include <iostream> #include <vector> #include <algorithm> using namespace std; in ...