你的位置:首页 > 软件开发 > Java > 从原型链看DOM--Text类型

从原型链看DOM--Text类型

发布时间:2016-04-05 17:00:06
文本节点由Text类型表示,包含的是可以按照字面解释的纯文本内容,纯文本中可以包含转义后的HTML字符但不能包含HTML代码。原型链继承关系为:textNode.__proto__->Text.prototype->CharacterData.prototype-&g ...

从原型链看DOM--Text类型

文本节点由Text类型表示,包含的是可以按照字面解释的纯文本内容,纯文本中可以包含转义后的HTML字符但不能包含HTML代码。原型链继承关系为:textNode.__proto__->Text.prototype->CharacterData.prototype->Node.prototype->EventTarget.prototype->Object.prototype。Text节点具有以下特征

  • nodeType值为3
  • nodeName值为"#text" ('string'类型)
  • nodeValue的值为节点所包含的文本
  • parentNode是一个Element
  • 没有子节点
  • 可以通过nodeValue(继承自Node.prototype)或data(继承自CharacterData.prototype)属性访问Text节点包含的文本。对nodeValue的修改也会通过data反映出来。反之亦然。
var text=document.createTextNode('文本');text.nodeValue;// "文本"text.data;// "文本"

创建文本节点

创建新文本节点的同时也会为其设置ownerDocument属性。不过除非把新节点添加到文档树种已经存在的节点中否则我们不会在浏览器窗口中看到新节点。

text=document.createTextNode('<b>sdvc</b>');text.ownerDocument;// #document
如果两个节点是相邻同胞节点,那么这两个节点中的文本就会连起来显示,中间不会有空格。规范化文本节点

DOM文档中存在相邻的同胞节点很容易产生混乱,分不清哪个文本节点是哪个字符串。分割文本节点

text.splitText(offset):继承自Text.prototype,这个方法从offset指定位置将一个文本节点分成两个文本节点,按照指定位置分割nodeValue值,原来的文本节点将包含从开始到指定位置之前的内容,返回的新文本节点将包含剩下的文本。分割文本节点是从文本节点提取数据的一种常用DOM解析技术。

var ele=document.createElement('div');var text=document.createTextNode('Hello World');ele.appendChild(text);var newnode=ele.firstChild.splitText(5);newnode;// " World" 文本节点text;// "Hello" 文本节点ele.childNodes.length;// 2

原标题:从原型链看DOM--Text类型

关键词:dom

dom
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。