select + range + insertNode+offset

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了select + range + insertNode+offset相关的知识,希望对你有一定的参考价值。

???????????????   insert   ?????????   ??????   ??????   sel   ??????   elf   set   

self. cmd.range.selectNodeContents(p[0])   ????????????
self.cmd.select()   ????????????
self.cmd.selection([forceRest])  ??????????????????????????????range?????????forceRest????????????false?????????true??????????????????????????????????????????????????????(body??????????????????????????????)???????????????
insertNode?????????????????????????????????

????????????range??????????????????????????????
up ????????????range

<p>
        <strong id="nstrong"><span>123</span>abc</strong>def
    </p>

        
var range = mainbody_editor.cmd.range;
      var len = doc.getElementById("nstrong").childNodes;  [span, text]
     var up = range.up();

offset???????????????????????????????????????????????????

12|345|6
??????????????????????????????startoffset ???????????????2??????????????????2???endoffset?????????5??????????????????5
 <strong id="nstrong">|<span>123</span>|abc</strong>def
startoffset??????0  endoffset??????1
 
???????????? startContainer text   startoffset 0   endContainer text   endffset 3

startContainer???startoffset???????????????endContainer???endffset????????????
up??????  ????????????container???container
???????????? startContainer span    startoffset 0   endContainer strong   startoffset 2

enlarge????????????p????????????????????????????????????

????????????????????? up enlarge????????????,???????????????????????????????????????
123
 
setStartAfter ??????????????????????????????????????? ?????? text | ????????????????????????1???????????????????????????text??????

以上是关于select + range + insertNode+offset的主要内容,如果未能解决你的问题,请参考以下文章

类range的select方法无效

Range对象

如何以角度动态删除 MAT_DATE_RANGE_SELECTION_STRATEGY

scss SCSS_range_selection

select + range + insertNode+offset

VBA select case 练习