2017-04-14 7 views
0

javascriptを使用して、選択したテキストをハイライトし、選択したテキストを削除します。
私はほとんどすべてをやったことがありますが、選択したテキストのスタイルを削除するにはどうしたらいいですか?
選択したテキストの周りにクラス名highlightのスパンを削除しますが、選択したテキスト内で既に使用可能な他のスタイルは削除しません。ここでjavascriptで選択したテキストの周りにクラス名を含むspanを削除するには

the plunk I've madeです:

function removeHighlight() { 
    var sel = window.getSelection(); 
    if (sel.rangeCount > 0) { 
    var range = sel.getRangeAt(0); 
    var selectedTextNode = document.createTextNode(range.toString()); 
    console.log(selectedTextNode); 
    range.deleteContents(); 
    range.insertNode(selectedTextNode); 
    range.selectNode(selectedTextNode); 
    sel.removeAllRanges(); 
    sel.addRange(range); 
    } 
} 

の周りに選択したテキストを強調表示スパンを削除する適切な方法は何ですか?

答えて

0

あなたはclassList財産のremove方法を使用することができます:あなたは、特定の要件を持っている理由私はクラス名のみを削除したいdont't

// Get all the spans that have the highlight class 
var spans = document.querySelectorAll("span.highlight"); 

// Loop over the spans and remove the classs 
for(var i = 0; i < spans.length; i++){ 
    spans[i].classList.remove("highlight"); 
} 
+0

を、私はテキスト –

+0

の周りにspanタグを削除するには、私が求めることができます? –

+0

と一度に1つのハイライトを削除する必要があります。あなたのメソッドの上にすべてのスパンのスタイルを削除します。ここで私はどのハイライトユーザーが削除したいのかを知ることができません。私は範囲オブジェクトをここに持っています –

関連する問題