Es ist kein Problem, ein Element anhand der Position und der Position eines Elements in Javascript zu finden. Aber gibt es allgemeine Möglichkeiten, sie zu vergleichen?
Ich kann mir nur vorstellen, IDs oder Klassennamen zu vergleichen, aber nicht alle Elemente haben IDs oder Klassennamen.
javascript
dom
Bob
quelle
quelle
Antworten:
In modernen Browsern gibt es zwei Methoden zum Vergleichen von Knoten.
var a = document.createElement('div'); var b = document.createElement('div'); b.isEqualNode(a); // true
aber
b.isSameNode(a); //false
Und was den IE betrifft, so haben seine DOM-Elemente das Nicht-Standard-Attribut uniqueID . Aber ich kann mir nicht vorstellen, dass es in diesem Fall nützlich sein kann, da man tatsächlich zwei Zeiger vergleichen kann.
quelle
isSameNode
Funktion ist veraltet. Sie sollten sieisEqualNode
stattdessen verwenden. Siehe developer.mozilla.org/en-US/docs/Web/API/Node.isSameNodeWenn Sie zwei Elementzeiger vergleichen möchten, um dasselbe Element zu sein, verwenden Sie einfach den Vergleichsoperator. Dies kann leicht nachgewiesen werden, weil
document.body === document.body
Wenn ich zum Beispiel irgendwie Verweise auf zwei Elemente hatte, wusste ich es nicht:
if (element1 === element2) ...
quelle
==
vs===
beim Vergleich von DOM-Knoten. Könnten Sie nicht einfach ein Beispiel geben, anstatt auf irrelevante Links zu verweisen?===
es besser ist als==
in diesem speziellen Fall.