Jsdom: Suporte para Element.closest ()

Criado em 7 jul. 2016  ·  8Comentários  ·  Fonte: jsdom/jsdom

Ei pessoal, eu queria saber se há planos para apoiar Element.closest() no jsdom?

dom living standard feature selectors

Comentários muito úteis

Infelizmente, não tenho tempo no momento para me aprofundar e entender a base de código jsdom, mas o trecho a seguir é tudo o que é necessário.

window.Element.prototype.closest = function (selector) {
    var el = this;
    while (el) {
        if (el.matches(selector)) {
            return el;
        }
        el = el.parentElement;
    }
};

Talvez alguém que já esteja trabalhando no projeto possa inserir isso no lugar apropriado.

Todos 8 comentários

Não há planos para oferecer suporte ao Element.closest inexistente. Element.prototype.closest, no entanto, podemos tentar oferecer suporte no futuro. Uma solicitação pull seria a melhor maneira de trabalhar nesse sentido.

@domenic Element.prototype.closest diferente do link acima? Não é possível encontrar um artigo MDN correspondente diferente daquele.

Acho que só o MDN está sendo confuso. Mas se você verificar qualquer navegador (ou especificação), Element.closest === undefined , enquanto Element.prototype.closest é uma função.

Oh, tudo bem. Tenho certeza que você não quis dizer isso, mas sua resposta inicial me fez sentir como um novato por não saber a diferença, e espero que isso não seja representativo desta comunidade. Vou tentar mergulhar no código jsdom para ver se entendo o suficiente para contribuir.

Infelizmente, não tenho tempo no momento para me aprofundar e entender a base de código jsdom, mas o trecho a seguir é tudo o que é necessário.

window.Element.prototype.closest = function (selector) {
    var el = this;
    while (el) {
        if (el.matches(selector)) {
            return el;
        }
        el = el.parentElement;
    }
};

Talvez alguém que já esteja trabalhando no projeto possa inserir isso no lugar apropriado.

Como aquele foi fechado agora, há https://github.com/tmpvar/jsdom/pull/1951

Ainda não está no jsdom, certo?

Isso foi corrigido pela fusão de https://github.com/jsdom/jsdom/pull/1951 na v11.12.0 🎉

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mitar picture mitar  ·  4Comentários

jacekpl picture jacekpl  ·  4Comentários

cg433n picture cg433n  ·  3Comentários

lehni picture lehni  ·  4Comentários

potapovDim picture potapovDim  ·  4Comentários