Node.comparedocumentposition(otherNode)
返回掩码:
- DOCUMENT_POSITION_DISCONNECTED (1); // 000001
- DOCUMENT_POSITION_PRECEDING (2); // 000010
- DOCUMENT_POSITION_FOLLOWING (4); // 000100
- DOCUMENT_POSITION_CONTAINS (8); // 001000
- DOCUMENT_POSITION_CONTAINED_BY (16, 10 in hexadecimal); // 010000
- DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC (32, 20 in hexadecimal). // 100000
// 返回值是 10,8 + 2
document.body.compareDocumentPosition(document.documentElement);
所以比较节点位置关系的时候需要使用 & :
if (document.body.compareDocumentPosition(document.documentElement) & Node.DOCUMENT_POSITION_CONTAINS) {}