获取距离插入符位置最近的节点

3

我有一个文档(在可编辑的iframe内),
我需要检索到最靠近插入符位置的节点,不是父节点,而是同级节点(因此它们必须具有相同的父节点),该节点位于插入符位置(折叠选择时)左侧(如果有的话)。

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

目前我的代码是这样的:

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

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;
}

另一个问题,火狐浏览器会添加一个或两个

<br _moz_dirty=""/>

标签在换行符后面,有没有简单的方法可以将它们删除,还是我必须搜索它们并使用“removechild”将它们删除?


@kenny,这似乎与此问题无关,你应该开一个新的问题。 - Eric Bréchemier

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接