Hola amigos, me preguntaba si había planes para admitir Element.closest()
en jsdom.
No hay planes para admitir el elemento inexistente más cercano. Element.prototype.closest, sin embargo, podríamos intentar brindar soporte en el futuro. Una solicitud de extracción sería la mejor manera de trabajar en eso en el futuro.
@domenic ¿Es Element.prototype.closest
diferente de lo que vinculé arriba? No puedo encontrar un artículo de MDN correspondiente que no sea ese.
Creo que MDN es confuso. Pero si revisa cualquier navegador (o especificación), Element.closest === undefined
, mientras que Element.prototype.closest
es una función.
Ah, okey. Estoy seguro de que no lo dijiste en serio, pero tu respuesta inicial me hizo sentir como un novato por no saber la diferencia, y espero que eso no sea representativo de esta comunidad. Intentaré sumergirme en el código jsdom para ver si entiendo lo suficiente como para contribuir.
Desafortunadamente, no tengo tiempo en este momento para profundizar y comprender la base del código jsdom, pero el siguiente fragmento es todo lo que se requiere.
window.Element.prototype.closest = function (selector) {
var el = this;
while (el) {
if (el.matches(selector)) {
return el;
}
el = el.parentElement;
}
};
Quizás alguien que ya esté trabajando en el proyecto pueda colocarlo en el lugar apropiado.
Desde que se cerró, ahora hay https://github.com/tmpvar/jsdom/pull/1951
Todavía no está en jsdom, ¿verdad?
Esto se solucionó mediante la fusión de https://github.com/jsdom/jsdom/pull/1951 en v11.12.0 🎉
Comentario más útil
Desafortunadamente, no tengo tiempo en este momento para profundizar y comprender la base del código jsdom, pero el siguiente fragmento es todo lo que se requiere.
Quizás alguien que ya esté trabajando en el proyecto pueda colocarlo en el lugar apropiado.