找出节点在DOM树中的位置?

找出节点在DOM树中的位置?,dom,Dom,我需要找出两个任意DOM节点的出现顺序。 现在,在开始编写自定义遍历代码之前,我想知道是否有任何简单的跨浏览器方法可以找到DOM节点的(可比较的)位置 例如 福 酒吧 福 酒吧 你试过了吗?它返回一个位掩码,表示调用节点与作为参数传递的节点的关系。它之所以是位掩码,是因为它可能表示多个可能的关系 在这种情况下,您可以利用之后的Node.DOCUMENT\u POSITION\u来确定两个节点的显示顺序(此片段的结果将在呈现页面输出下方的控制台中): const foo1=docume

我需要找出两个任意DOM节点的出现顺序。 现在,在开始编写自定义遍历代码之前,我想知道是否有任何简单的跨浏览器方法可以找到DOM节点的(可比较的)位置

例如



福
酒吧

福 酒吧

你试过了吗?它返回一个位掩码,表示调用节点与作为参数传递的节点的关系。它之所以是位掩码,是因为它可能表示多个可能的关系

在这种情况下,您可以利用之后的
Node.DOCUMENT\u POSITION\u来确定两个节点的显示顺序(此片段的结果将在呈现页面输出下方的控制台中):

const foo1=document.getElementById(“foo1”);
const foo2=document.getElementById(“foo2”);
if(foo1.compareDocumentPosition(foo2)和Node.DOCUMENT\u POSITION\u FOLLOWING){
log(“foo2跟随foo1”);
}否则{
log(“foo2在foo1之前”);
}


福
酒吧

福 酒吧