Get first matching ancestor containing a specific class

user831839 picture user831839 · Jul 28, 2011 · Viewed 9.4k times · Source

I am trying to iterate to the first ancestor containing the class ‘sys-form-row’.

I am able to get the row containing class="sys-form-row" using the following: objBack =

$('#txtMyBox2').parent().parent();

This seems incredibly clumsy. What I would like to do is something like this:

$('#txtMyBox2').parents('.sys-form-row'); or even $('#txtMyBox2').closest('.sys-form-row'); however both fail and my current approach will not always work if additional div nesting is applied. Any help would be really appreciated.

Answer

ShankarSangoli picture ShankarSangoli · Jul 28, 2011

If the additional nested div has any specific class you can use closest to find the parent

//It will always give you the closest element having class ".sys-form-row"
$('#txtMyBox2').closest(".sys-form-row");