全栈JavaScript之路(六)学习 文本节点;

文本节点 的类型为 Text , 其构造器函数为: function Text(){[native code]}

nodeType: 3;

nodeName: #text;

nodeValue:为所包含的文本;

parentNode: 为一个Element 节点;

不支持子节点;


可能通过文本节点的 nodeValue, data 属性 访问其内容,nodeValue 属性,data属性同步更新的。


操作文本节点的方法:

appendData(text);//增加文件到末尾

deleteData(offset,count);//从 offset 位置开始,删除 count 个字符

insertData(offset,text); //从 offset 位置开始, 插入 text

replaceData(offset,count,text); 从 offset 开始, 到offset+count 结束,插入 text

splitText(offset);//从offset 位置开始,把节点的内容分割为两个节点。

substringData(offset,count);//返回一个字符串, 同容为文本节点的 offset位置开始,count 个字符。


除了这些,文本节点还有length 属性, nodeValue.length 与 data.length 内容也是同等。

默认情况下,每一个可包含内容的元素都只能包含一个文本,且必须有内容存在。

如果文本节点当前存在于文档树中,那么修改文本节点的结果就会立即得到反映。

另外,在修改文本节点时还要注意,此时的字符串会经过HTML(或XML,取决于文档类型)编码。

换句话说,小于号、大于号或引号都会像下面的例子一样被转义。
//输出结果是"Some <strong>other</strong> message"
div.firstChild.nodeValue = "Some <strong>other</strong> message";


创建文本节点:

document.createTextNode();



规范化文本节点。

如果在一个包含两个或多个文本节点的父元素上调用normalize()方法,则会将所有文本节点合并成一个

节点,结果节点的nodeValue 等于将合并前每个文本节点的nodeValue 值拼接起来的值。

注意;在某些情况下,执行normalize()方法会导致IE6 崩溃。不过,在IE6 后来的补丁中,可能已经修复了这个问题(未经证实)。IE7 及更高版本中不存在这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值