Jsdom: Soporte para Element.closest ()

Creado en 7 jul. 2016  ·  8Comentarios  ·  Fuente: jsdom/jsdom

Hola amigos, me preguntaba si había planes para admitir Element.closest() en jsdom.

dom living standard feature selectors

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.

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.

Todos 8 comentarios

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 🎉

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

vsemozhetbyt picture vsemozhetbyt  ·  4Comentarios

khalyomede picture khalyomede  ·  3Comentarios

machineghost picture machineghost  ·  4Comentarios

jhegedus42 picture jhegedus42  ·  4Comentarios

kilianc picture kilianc  ·  4Comentarios