Lieber Michael_K,
Bei jsdom gibt es eine Methode jsdom.nodeLocation(element), die de facto einen Positionierungsindex bereitstellt, um diesen Abgleich durchzuführen.
in JavaScript kann man Objekte mit dem einfachen Vergleichsoperator (das doppelte Istgleichzeichen) vergleichen, da dieser einfache Vergleich immer scheitert, wenn es sich nicht um das identische Objekt (also die Instanz, nicht die Art oder Klasse) handelt.
const a = new Object();
const b = new Object();
const c = a;
c.neueEigenschaft = 1;
if (a == b) {
// dieser Fall tritt nicht ein:
console.log("a und b ist das identische Objekt.");
} else {
console.log("a und b sind unterschiedliche Objekte.");
}
if (a == c) {
console.log("a und c ist das identische Objekt.");
} else {
// dieser Fall tritt nicht ein:
console.log("a und c sind unterschiedliche Objekte.");
}
if (b == c) {
// dieser Fall tritt nicht ein:
console.log("b und c ist das identische Objekt.");
} else {
console.log("b und c sind unterschiedliche Objekte.");
}
Ja, intern wird die JavaScript-Engine sicherlich irgendwelche Identifier oder Speicheradressen dafür verwenden, aber für Dich als Programmierer ist das völlig irrelevant. Und DOM-Knoten sind auch „nur“ Objekte.
Liebe Grüße
Felix Riesterer