Hey Leute, ich habe mich gefragt, ob es Pläne gibt, Element.closest()
in jsdom zu unterstützen?
Keine Pläne, das nicht vorhandene Element.closest zu unterstützen. Element.prototype.closest wird jedoch möglicherweise in Zukunft unterstützt. Ein Pull-Request wäre der beste Weg, um daran zu arbeiten.
@domenic Unterscheidet sich Element.prototype.closest
von dem, was ich oben verlinkt habe? Kann keinen anderen MDN-Artikel als diesen finden.
Ich denke, es ist nur MDN, das verwirrend ist. Aber wenn Sie einen Browser (oder eine Spezifikation) auschecken, ist Element.closest === undefined
, während Element.prototype.closest
eine Funktion ist.
Oh, in Ordnung. Ich bin sicher, Sie haben es nicht so gemeint, aber Ihre erste Antwort hat mir das Gefühl gegeben, ein Neuling zu sein, weil ich den Unterschied nicht kannte, und ich hoffe, das ist nicht repräsentativ für diese Community. Ich werde versuchen, in den jsdom-Code einzutauchen, um zu sehen, ob ich genug verstehe, um einen Beitrag zu leisten.
Leider habe ich im Moment nicht die Zeit, mich in die jsdom-Codebasis einzuarbeiten und sie zu verstehen, aber der folgende Ausschnitt ist alles, was erforderlich ist.
window.Element.prototype.closest = function (selector) {
var el = this;
while (el) {
if (el.matches(selector)) {
return el;
}
el = el.parentElement;
}
};
Vielleicht kann das jemand, der bereits an dem Projekt arbeitet, an entsprechender Stelle einschieben.
Da dieser jetzt geschlossen wurde, gibt es https://github.com/tmpvar/jsdom/pull/1951
Es ist immer noch nicht in jsdom, oder?
Dies wurde durch die Zusammenführung von https://github.com/jsdom/jsdom/pull/1951 in v11.12.0 behoben
Hilfreichster Kommentar
Leider habe ich im Moment nicht die Zeit, mich in die jsdom-Codebasis einzuarbeiten und sie zu verstehen, aber der folgende Ausschnitt ist alles, was erforderlich ist.
Vielleicht kann das jemand, der bereits an dem Projekt arbeitet, an entsprechender Stelle einschieben.