2016-09-19 7 views
-1

は私JsFiddleです:選択/ハイライト

Highlight issue after selecting text across multiple li tags

、その中で、私は後にここでテキスト

var range = window.getSelection().getRangeAt(0); 
content = range.extractContents(); 
span = document.createElement('SPAN'); 
span.className='startIndex-'+startIndex+' endIndex-'+endIndex+''; 
span.style.background = 'pink'; 
span.appendChild(content); 
var htmlContent = span.innerHTML; 
range.insertNode(span); 

を強調するためにスパンを追加し、次のコードを使用しています複数のliの間でテキストを選択すると、選択したテキストの開始インデックスと終了インデックスをonclick関数に渡します。

しかし

後にそこに新しいのliタグを追加するには、新しい李に選択されたコンテンツを破壊し続けてhighligtingながらボタンをクリックした後、私はHTMLに影響を与えることなく、選択した範囲をハイライト表示します。

HTMLを誤動作させて正しく強調表示する方法を知っている人はいませんか?

+0

(https://markjs.io)[mark.js]で、それはいいですit..itに見えた – dude

+0

要素間でハイライトすることが可能です。..しかし、現時点では既存のコードを変更して、それを動作させる必要があります...後で私はコード全体を再実装します。コードを実際に生きていくために急いでいます。 – user1617762

答えて

0

スタイルを変更したいだけの場合は、クラスを追加するだけでいいですか?
Javascriptを:

 var el = document.getElementById('hello'); 
    el.className ="red" 

CSS

.red{ 
    background: red; 
} 
+0

ボタンを押すとHTMLが正しく動作しません... HTML要素が影響を受けます.....これはハイライト中の問題です – user1617762

+0

これは実際の解決策ではありません。 – user1617762

関連する問題