检索最接近插入符号位置的节点

时间:2009-12-25 16:52:28

标签: javascript

我有一个文件(在可编辑的iframe内),
我需要检索最接近插入符号位置的节点,而不是父节点,但是兄弟节点(因此它们必须具有相同的父节点)位于插入符号位置(如果可用)(折叠选择)。

节点可以是任何节点,如文本节点,段落,div等 注意:浏览器 IE。

我现在有这个:

 var content = document.getElementById('iframedocument').contentWindow;
 var selection = content.getSelection();
 var range = selection.getRangeAt(0); 

2 个答案:

答案 0 :(得分:0)

使用range.startContainerrange.endContainer尝试此操作。

有关https://developer.mozilla.org/en/DOM/range

范围对象的更多文档

答案 1 :(得分:0)

这对我有用:

var content = document.getElementById('iframedocument').contentWindow;
var selection = content.getSelection();
var range = selection.getRangeAt(0); 

var container = range.endContainer;

var lastNodeBeforeCaret = container.lastElementChild;

while (range.comparePoint(lastNodeBeforeCaret, 0) == 1) { 
       lastNodeBeforeCaret = lastNodeBeforeCaret.previousSibling;
}

另一个问题,firefox添加了一两个

<br _moz_dirty=""/>
在新行之后的

标签,有一个简单的删除它们或我必须搜索它们并“删除它们”吗?