Here’s an analyzation:
parent()
walks just one level up in the DOM tree.parents(".foo")
walks up to the root and selects only those elements that match the given selector.foo
.closest(".foo")
walks up to the root but stops once an element matches the selector.foo
.
So I would choose the last one, closest(".foo")
. The reason:
- It’s better than chaining
parent
, because if your document changes because you removed or added one hierarchy, you don’t need to change the jQuery code. - It’s better than
parents(".foo")
, because it stops as soon as a match has been found.