jacascript DOM节点——节点内容

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

innerHTML

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

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

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

  对 innerHTML 属性用"+="操作符重复追加一小段文本通常效率低下,因为它既要序列化又要解析;

outerHTML

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

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

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

        <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.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>

参考资料

  大神的讲解更清晰,他的其他随笔也很好, http://www.cnblogs.com/xiaohuochai/p/5823716.html

时间: 2024-11-10 01:10:40

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

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

前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 节点关系 DOM可以将任何HTML描绘成一个由多层节点构成的结构.每个节点都拥有各自的特点.数据和方法,也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标签则表现为一个以特定节点为根节点的树形结构,也就是DOM树.下图为各节点之间的关系: 父级属性 parentNode 和 parentElement 每个节点都有一个 parentNode 属性,该属性指向文档树中的父节点.对于一个节点来

JavaScript HTML DOM 元素(节点)

JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例 <div id="div1"><p id="p1">This is a paragraph.</p><p id="p2">This is another paragraph.<

DOM 处理 节点

js 父节点: parentNode; 子节点: childNode firstChild; lastChild; function func(o) { //alert(o.parentNode.nextSibling.nextSibling.lengh); my=o.parentNode.parentNode.getElementsByTagName("p"); alert(my[2].firstChild.nodeValue); //注意firstChild } </scri

DOM树节点和事件

一.前言:DOM树节点是JS的基础语句.通过节点,能够取到HTML代码中的任意标签,从而对其进行修改和添加各种视觉效果. 二.DOM树节点    DOM节点分为三大类: 元素节点,属性节点,文本节点     文本节点,属性节点属于元素节点的子节点.操作时,均需要先取到元素节点,再操作子节点:     可以使用getElement系列方法,取到元素节点 .      1.查看元素节点      getElementById: 通过ID取到唯一节点.如果id重名,则id只能取到第一个      ge

dom操作节点之常用方法

DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名className): 通过class类名找到节点,返回的是一个集合3. document.getElementsByTagName (标签名):通过标签名找到节点,返回一个集合 标签名:如<a>\ <p>\ <div> ....4. document.getElementsByNam

remove() 删除节点 | detach() 删除节点 | empty() 清空节点的内容 | clone() 复制节点

<html> <head> <title></title> <script src="jquery-2.1.3.js"></script> </head> <body> <div> <ul> <li>中国</li> <li>美国</li> <li>德国</li> <li>俄国</

笔记-[1]-DOM的节点操作详解.

DOM:文档对象模型 操作DOM基本就是操作DOM的元素节点. 节点的属性: 1:objElement.childNodes  :获取该元素对象的的节点集合,有length长度属性,在标准浏览器下使用,会辩认文本节点的节点,一般不用,有其他的更好的属性(children) 2:objElement.children :     获取该元素对象的的节点集合,有length长度属性,在ie8下和其他标准浏览器兼容,只获取元素节点. 3:obj.nodeType   :获取对象的节点类型,1为元素节点

DOM之节点树操作

节点树  每个html页面载入浏览器的时候,浏览器都会生成一个树形结构,这个树形结构由节点组成,我们称之为节点树或文档树; 每个HTML标签都是元素节点 每个标签的属性都是属性节点 每个标签的文本内容都是文本节点 节点分为: 元素节点 属性节点  文本节点  注释节点 nodeType   获取节点的类型 nodeName   获取节点的名称 nodeValue  获取节点的值 节点 nodeType    nodeName    nodeValue   元素节点  标签名 1 null 属性节

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

主存索引节点和辅存索引节点的不同主要体现在:主存索引节点状态:设备号.索引节点号:引用计数. 主存索引节点状态——反映主存索引节点的使用情况.它指示出: 1.  索引节点是否被锁上了: 2.  是否有进程正在等待索引节点变为开锁状态 3.  作为对索引节点中的数据进行更改的结果,索引节点的主存表示是否与它的磁盘中的内容不同. 4.  作为对文件数据更改的结果,文件的主存表示是否与它的磁盘中的内容不同. 5.  该文件是否是安装点. 设备号.索引节点号.对应辅存索引节点的位置信息.设备号是索引节点

DOM中节点

规定 整个文档是一个文档节点 每个 HTML 标签是一个元素节点 包含在 HTML 元素中的文本是文本节点 每一个 HTML 属性是一个属性节点 注释属于注释节点 node节点 节点彼此都有等级关系. HTML 文档中的所有节点组成了一个文档树(或节点树). HTML 文档中的每个元素.属性.文本等都代表着树中的一个节点. 树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止. 文档树 <html> <head> <title>DOM Tuto