2017-07-28 3 views

答えて

0

初めてremoveAllRangesを実行していますか? MDN articlethis SO answerは、コールが必須/推奨であるように見えます。

MDNの記事からスクリプトの例:

/* Select all STRONG elements in an HTML document */ 

var strongs = document.getElementsByTagName("strong"); 
var s = window.getSelection(); 

if(s.rangeCount > 0) s.removeAllRanges(); 

for(var i = 0; i < strongs.length; i++) { 
    var range = document.createRange(); 
    range.selectNode(strongs[i]); 
    s.addRange(range); 
} 
+0

はい。 removeAllRangesが最初に呼び出されます。また、最初のRangeオブジェクトを取得し、deleteContentsを呼び出してから、その範囲のsetStartおよびsetEndを実行しても問題ありません – user8173591