伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

JS 之DOM range对象

来源:网络转载 浏览:69次 时间:2022-11-25

DOM范围

DOM中的range对象是DOM2中新定义的接口。通过这个对象可以选择文档中的某个区域,而不必考虑节点的界限。

 

创建范围

document.createRange()创建一个范围,这个范围是range类型的实例。包含下面这些属性和方法。

startContainer:包含范围起点的节点(选区中第一个节点的父节点)。

startOffset:范围在startContainer中起点的偏移量。

endContainer:包含范围终点的节点(选区中最后一个节点的父节点)。

endOffset:范围在endContainer中终点的偏移量。

 

范围选择

selectNode()和selectNodeContents()方法用来选择文档中的某一部分。

var range = document.createRange();

range.selectNode(node)   参数为node节点,把整个node节点的信息,包括子节点中的内容填充到范围range内。

range.selectNodeContents(node)   参数为node节点,把node节点的子节点信息填充到范围range内。

 

操作范围

在创建范围时,内部会为这个范围创建一个文档片段,范围所属的全部节点会被添加到这个文档片段中。创建范围后,就可以对范围的的内容进行操作了。

deleteContents():从文档中彻底删除范围所包含的内容。

var sec1 = document.getElementById('sec1');var range = document.createRange();
range.selectNode(sec1);
range.deleteContents();   //删除sec1节点

extractContents():从文档中移除范围选区。这个方法的返回值是移除的片段,利用这个返回值,可以把这个片段插入到页面的其他地方。

var sec1 = document.getElementById('sec1');
var sec2 = document.getElementById('sec2');

var range = document.createRange();
range.selectNode(sec1);      //创建范围的内容
var fragment = range.extractContents();       //从文档中移除范围选区
sec2.parentNode.appendChild(fragment);      //在页面的某处插入范围中被移除的节点

cloneRange():复制范围,创建调用它的范围的副本。

var newRange = range.cloneRange();

detach():从范围文档中分类该范围,也就是清理范围。

range.detach();

range = null;

 

IE中的范围

IE不支持DOM的range范围,但是支持textRange文本范围,文本范围主要处理的是文本。

 

创建范围

document.body.createTextRange();

 

范围选择

findText()方法:找到第一次出现的给定文本,并将范围移过来环绕文本。如果找到文本返回true,否则返回false.

eg:

var range = document.body.createTextRange();

var isFound = range.findText('aa');    //如何找到返回true,否则返回false

var text = range.text    //输出aa

与DOM中selectNode()方法最接近的是moveToElementText(),接受一个参数:节点名。选择这个节点的所有内容填充到范围里。

 

操作范围

在IE中,操作范围中的内容可以使用text属性和pasteHTML()方法。通过text属性可以取得范围中的内容文本,也可以通过这个属性来设置内容文本。要向范围中插入html代码,则使用pasteHTML()方法。

duplicate():复制文本范围。创建原范围的一个副本。

 

总结自:《javascript 高级程序设计》

http://www.cnblogs.com/zourong/p/4800922.html


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net