我正在从页面复制一个范围并将其粘贴回其他地方,但是当它包含我不想复制的页面时会出现问题。是否有一种通过id从范围中删除节点的好方法?或者如果没有,如果页面上有两个具有相同id的节点,是否有任何方法可以识别另一个节点(即,首先指定唯一的父ID?)
注意:只请JavaScript - 我不能使用库来解决此问题。
答案 0 :(得分:2)
如果您正在谈论DOM范围,解决方案是围绕要排除的节点拆分范围,为您提供两个范围。
// Assuming you have a Range stored in a variable called range and
// a node you want to exclude in a variable called node
var newRange = range.cloneRange();
range.setEndBefore(node);
newRange.setStartAfter(node);
这在IE< = 8中不起作用,它具有完全不同的表示范围的方式。