Jsdom: Prise en charge de Element.closest()

Créé le 7 juil. 2016  ·  8Commentaires  ·  Source: jsdom/jsdom

Salut les amis, je me demandais s'il était prévu de prendre en charge Element.closest() dans jsdom ?

dom living standard feature selectors

Commentaire le plus utile

Malheureusement, je n'ai pas le temps pour le moment de creuser et de comprendre la base de code jsdom, mais l'extrait suivant est tout ce qui est requis.

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

Peut-être que quelqu'un qui travaille déjà sur le projet peut le glisser à l'endroit approprié.

Tous les 8 commentaires

Il n'est pas prévu de prendre en charge l'Element.closest inexistant. Element.prototype.closest, cependant, nous pourrions essayer de prendre en charge à l'avenir. Une pull request serait le meilleur moyen de faire avancer les choses.

@domenic Est-ce que Element.prototype.closest différent de ce que j'ai lié ci-dessus ? Impossible de trouver un article MDN correspondant autre que celui-là.

Je pense que c'est juste que MDN prête à confusion. Mais si vous consultez un navigateur (ou une spécification), Element.closest === undefined , alors que Element.prototype.closest est une fonction.

Ah d'accord. Je suis sûr que vous ne le pensiez pas, mais votre réponse initiale m'a fait sentir comme un noob pour ne pas connaître la différence, et j'espère que ce n'est pas représentatif de cette communauté. Je vais essayer de plonger dans le code jsdom pour voir si je comprends assez pour contribuer.

Malheureusement, je n'ai pas le temps pour le moment de creuser et de comprendre la base de code jsdom, mais l'extrait suivant est tout ce qui est requis.

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

Peut-être que quelqu'un qui travaille déjà sur le projet peut le glisser à l'endroit approprié.

Depuis que celui-ci a été fermé, il y a maintenant https://github.com/tmpvar/jsdom/pull/1951

Ce n'est toujours pas dans jsdom, non?

Cela a été corrigé par la fusion de https://github.com/jsdom/jsdom/pull/1951 dans la v11.12.0 🎉

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

kilianc picture kilianc  ·  4Commentaires

mitar picture mitar  ·  4Commentaires

cg433n picture cg433n  ·  3Commentaires

tolmasky picture tolmasky  ·  4Commentaires

vsemozhetbyt picture vsemozhetbyt  ·  4Commentaires