Not concerned about old browser fallback. Also, can’t use libraries.
I have an event object. I am testing the event.target against a css selector via matchesSelector:
event['target'].matchesSelector('css selector here');
this works, as does:
event['target']['parentElement'].matchesSelector('css selector here');
…and:
event['target']['parentElement']['parentElement'].matchesSelector('css selector here');
What I’m looking for is some possible object method beyond my understanding that I could use to check each parentElement all the way up for a match, without a for loop. My focus is on efficiency.
Thanks!
To prevent redundant looping through all parent elements of your target element, you can perform quick checking for whether your element is inside of an element that matches your selector by using
matchesSelector()with selector that is concatenation of your original selector and appended context selector consisting of space and your target-element’s tag name: