Jsdom: Element.рдирд┐рдХрдЯрддрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди ()

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЬреБрд▓ре░ 2016  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jsdom/jsdom

рд╣реЗ рджреЛрд╕реНрддреЛрдВ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ jsdom рдореЗрдВ Element.closest() рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

dom living standard feature selectors

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп jsdom рдХреЛрдб рдмреЗрд╕ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдкреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╢рд╛рдпрдж рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рдЙрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдЦрд┐рд╕рдХрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЧреИрд░-рдореМрдЬреВрдж Element.рдирд┐рдХрдЯрддрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред Element.prototype.рдирд┐рдХрдЯрддрдо, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдкрд░ рдХрд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

Element.prototype.closest рдбреЛрдореЗрдирд┐рдХ Element.prototype.closest рдЬреЛ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдЕрд▓рдЧ рд╣реИ? рдЙрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрдмрдВрдзрд┐рдд MDN рдЖрд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдордбреАрдПрди рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдпрд╛ рдХрд▓реНрдкрдирд╛) рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Element.closest === undefined , рдЬрдмрдХрд┐ Element.prototype.closest рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред

рдУрд╣ рдареАрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдпрд╣ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдиреЗ рдореБрдЭреЗ рдЕрдВрддрд░ рди рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЛрдм рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдореБрджрд╛рдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП jsdom рдХреЛрдб рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордЭрддрд╛ рд╣реВрдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп jsdom рдХреЛрдб рдмреЗрд╕ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдкреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╢рд╛рдпрдж рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рдЙрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд░ рдЦрд┐рд╕рдХрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЪреВрдБрдХрд┐ рд╡рд╣ рдЕрдм рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рдерд╛, рд╡рд╣рд╛рдБ https://github.com/tmpvar/jsdom/pull/1951 рд╣реИ

рдпрд╣ рдЕрднреА рднреА jsdom рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?

рдпрд╣ https://github.com/jsdom/jsdom/pull/1951 рдХреЗ v11.12.0 рдореЗрдВ рд╡рд┐рд▓рдп рдХреЗ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

domenic picture domenic  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

khalyomede picture khalyomede  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JacksonGariety picture JacksonGariety  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jhegedus42 picture jhegedus42  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vsemozhetbyt picture vsemozhetbyt  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ