user5508297 user5508297 - 4 months ago 31
jQuery Question

What is the pure JavaScript equivalent of jQuery's .parents() method?

Apologies for this kind of question, but I can't find an answer on You Might Not Need jQuery or anywhere else online and I'd really like to know:

What is the pure JavaScript equivalent of jQuery's .parents() method?

For example, it would be great to know how to do this in pure JavaScript:

jQuery(element).parents('.className');

Answer

There is no one function/property in the DOM API that equates to jQuery's parents(). There is the parentNode property, which is the parent element of the element on which you access it. To roughly match jQuery's parents(), you can loop on it (e.g., get the parentNode of the parentNode, etc.) to find all the parents. As squint notes, on vaguely-modern browsers at each level you can use matches to check if the parent matches a selector (to match jQuery's behavior with parents() when you pass it a selector).

jQuery takes a set-based approach to DOM manipulation and traversal, whereas the DOM API takes a per-element/node approach.

Comments