Thanks guys!! Got it working..
On Jan 13, 7:00 pm, Matt Maxwell <leftwithoutli...@gmail.com> wrote: > This is correct. > > I actually wrote a few jQuery extensions that handle this. > > The code is: > > $.fn.extend({ > // checks to see if an element exists > // if no callback is supplied, returns > // a boolean value stating if the element > // exists, otherwise executes the callback > exists: function (callback) { > if (typeof( callback ) === "function") { > if (this.length > 0) { callback.call( this ); } > return this;} > > else { return this.length > 0; }}, > > // checks to see if an element does not > // exist. if no callback is supplied, returns > // a boolean value stating if the element does > // not exists, otherwise, executes the callback > absent: function (callback) { > if (typeof( callback ) === "function") { > if (this.length === 0) { callback(); } > return this;} > > else { return this.length === 0; } > > } > }); > > Syntax would be > > var that = this; // scope > $(this).parents("ul").absent( > function () { > $(that).addClass("active");} > > ); > > or if you needed to do an if/else type scenario: > > var that = this; > $(this).parents("ul").exists( > function () { > // this === $(this) > this.removeClass("active");} > > ).absent( > function () { > $(that).addClass("active");} > > ); > > Or you could also use the function to return a boolean value: > > $(this).parent("ul").exists(); // true if ul is present > $(this).parent("ul").absent(); // true if no ul is present > > Thanks, > Matt > > On Wed, Jan 13, 2010 at 6:52 PM, pedalpete <p...@hearwhere.com> wrote: > > Everything that I've seen says you have to check the length of the > > element you are looking for. > > > So I think you want > > <pre> > > if($(this).parents('ul').length==0){ > > $(this).addClass("active"); > > } > > </pre> > > > If a parent UL was found, the length would be > 0