Which is more efficient: .parent().parent().parent() ~or~ parents(“.foo”) ~or~ closest(“.foo”)

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.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)