range基础

collapse这个方法是把结束位置抛弃掉,并不是简单的设置到开始位置。
结束位置被抛弃掉以后,只要没有给它重新设置位置,它就一直都会等
于开始位置。即使你修改了开始位置,结束位置还是会在修改后的开始位置上。

selection=getSelection();
range=document.createRange();

selection是能看到的选区,range是多个选区片段

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
div {width:600px;border:1px solid red;}
</style>

<script>
function selectRange(){
//变量初始化
var editor,selection,range,s;
editor=document.getElementById("editor");
s=editor.childNodes;
selection=getSelection();
range=document.createRange();
//设置range的开始和结束点
range.setStart(s[2],0);
range.setEnd(s[3],0);
//移除selection中原有的所有range
selection.removeAllRanges();
//把这个新的range添加到selection中
selection.addRange(range);

console.log("开始对象",selection.anchorNode);
  console.log("开始位置",selection.anchorOffset);
  console.log("结束对象",selection.focusNode);
  console.log("结束位置",selection.focusOffset);
}
</script>
</head>

<body>
<div contenteditable="true" id="editor">
  金樽清酒斗十千,玉盘珍馐值万钱。<br/>
  停杯投箸不能食,拔剑四顾心茫然。<br/>
  欲渡黄河冰塞川,将登太行雪满山。<br/>
  闲来垂钓碧溪上,忽复乘舟梦日边。<br/>
  行路难!行路难!多歧路,今安在?<br/>
  长风破浪会有时,直挂云帆济沧海。<br/>
</div>
<button onclick="selectRange()">select</button>
</body>
</html>
时间: 2024-10-14 05:46:14

range基础的相关文章

深入学习Oracle分区表及分区索引

关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: •       Range(范围)分区 •       Hash(哈希)分区 •       List(列表)分区 •       以及组合分区:Range-Hash,Range-List. 对于表而言(常规意义上的堆组织表),上述分区形式都可以应用(甚至可以对某个分区指定compress属性),只不过分区依赖列不能是lob,long之类数据类型,每个表的分区

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

零基础学python-12.5 修改列表的误区以及使用for和range修改列表

这一章节聊聊使用for和range修改列表,大部分的人在遇到这个场景的时候都会想到以下代码: >>> a=[1,2,3] >>> for x in a: x+=1 >>> a [1, 2, 3] >>> 但是为什么结果不对呢? 我们来看看它的运行步骤: 1.在列表a里面取出一个对象 2.把刚刚的对象赋值给x 3.x自加1 大家这里会想到,x引用的对象1,跟列表第一个对象引用的对象1是同一个对象,理应换掉的,问题就出现在这里,其实,x所

零基础学python-12.4 循环计数器while和range

1.range,它是一个迭代器,里面有三个参数,分别代表开始数.结束数和步进 我们下面用list方法把range里面的数字列出来 >>> list(range(5)) [0, 1, 2, 3, 4] >>> list(range(-5,5)) [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] >>> list(range(-5,5,2)) [-5, -3, -1, 1, 3] >>> range(x)里面只有一个

Python 基础——range 与 np arange

range()返回的是range object,而np.nrange()返回的是numpy.adarray() 两者都是均匀地(evenly)等分区间: range尽可用于迭代,而np.arange作用远不止于此,它是一个序列,可被当做向量使用. range()不支持步长为小数,np.arange()支持步长为小数 两者都可用于迭代 两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列 某种意义上,和STL中由迭代器组成的区间是一样的,即左闭右

python基础数据类型之字典dict和集合set及其他(for,enumerate,range)。

2.6字典dict. 2.6.1 字典的初识 1. 列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2. 列表只能按照顺序存储,数据与数据之间关联性不强. 所以针对于上的缺点,说咱们需要引入另一种容器型的数据类型,解决上面的问题,这就需要dict字典. 数据类型可以按照多种角度进行分类,就跟咱们人一样,人按照地域可以划分分为亚洲人,欧洲人,美洲人等,但是按照肤色又可以分为白种人,黄种人,黑种人,等等,数据类型可以按照不同的角度进行分类,先给大家按照可变与不可变的数据类型的

python基础(7):基本数据类型二(list、tuple)、range

1. 列表 1.1 列表的介绍 列表是python的基础数据类型之?,其他编程语?也有类似的数据类型.比如JS中的数组, java中的数组等等.它是以[ ]括起来,每个元素?','隔开?且可以存放各种数据类型: lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我 叫"

Python3基础 sum,range 计算1到100的和

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 aCollection=range(1,101,1) 2 3 print(sum(aCollection)) 2 show ------------------------------------------博文的精髓,在技术部分,更在镇场一诗.Python是优秀的语言,值得努力

php基础24:数组range

<?php $numbers = range(1, 10); echo "<pre>"; var_dump($numbers); echo "</pre>"; echo "<hr>"; $letters = range('a', 'z'); echo "<pre>"; var_dump($letters); echo "</pre>"; ec