2011-10-27 8 views
0

window.getSelection()を削除するにはどうすればいいですか?anchorNodedetachを使用して範囲から最初のノードを削除するにはどうすればよいですか?

私は...

window.getSelection().getRangeAt(0).detach(window.getSelection().anchorNode); 

を次のことを試してみました...と方法が不十分な文書化されているので... Range

window.getSelection().getRangeAt(0).detach.window.getSelection().anchorNode; 
+0

このjQueryのデタッチ方法は? –

+0

フレームワークは受け入れられません。 – John

+0

私は答えを見つけましたが、サイトは私に数時間それを答えることを拒否しています。サイトが制限を解除すると、私はその回答を投稿します。 – John

答えて

0

を行うことができますノードの範囲から...

alert(window.getSelection().anchorNode.parentNode.nodevalue); 

for (var k=0;k<window.getSelection().getRangeAt(0).commonAncestorContainer.childNodes.length;k++) 
{ 
if (window.getSelection().getRangeAt(0).commonAncestorContainer.childNodes[k].isSameNode(window.getSelection().anchorNode)) 
{ 
    window.getSelection().getRangeAt(0).detach(window.getSelection().getRangeAt(0).commonAncestorContainer.childNodes[k]); 
    break; 
} 
} 

alert(window.getSelection().anchorNode.parentNode.nodeName); 
+1

'detach()'は範囲からノードを削除することとは関係ありません。ただし、ノードを持たずに使用できないという点を除きます。私の答えを読んだ? –

0

detach()方法のみを処分するために使用されますあなたがそれで終わったときの範囲。それは範囲が来た文書に影響を与えません。

あなたが範囲の範囲の開始コンテナ・ノードを削除したい場合は、これは、これは削除するように見えるん(私は言及していない)当面の問題を解決していませんが、あなたは

range.setStartAfter(range.startContainer); 
関連する問題