@waseem sabjee: Don't know what to think of your answer... I already figured to use .parents() without you... :)
@Michel Belleville: Wow, thank you for that wonderful answer! ;) About .get(0), Firebug keeps telling me: "$(el).parents("div").get (0).addClass is not a function" I still find strange (that eventually gonna change :D) to add the possibility to match a specified selector in the .parent() method if it only applies to the direct parent... I don't really need all the parents here, so it may be more efficient having a method that stops looping through parents when the one we want is found. I guess I still can use .parent().parent().parent() as I know the <div> should be the third parent, but that would require change in the javacscript if i want to change the HTML structure... On 10 nov, 13:58, Michel Belleville <michel.bellevi...@gmail.com> wrote: > - $(el).parent('div'); // didn't work because > .parent()<http://docs.jquery.com/Traversing/parent>(only matches the > direct parent, not any ancestors) is not the same as > .parents() <http://docs.jquery.com/Traversing/parents> (matches all > ancestors) > - $(el).parents('div'); // returning all matching ancestors is the point > indeed > - $(el).parents('div').get(0).addClass('myClass'); // should work, may be > a testing error (just tested it, worked for me) > > Anyway, continue to try things and you'll be efficient with jQuery, don't > worry. Coming from another framework and re-learning the lingo is just a > phase, it's frustrating but it's worth it. And jQuery may be an acquired > taste but it's great once you're used to it. > > Michel Belleville > > 2009/11/10 waseem sabjee <waseemsab...@gmail.com> > > > > > > > var parent_element = $(".child).parents('div'); > > > On Tue, Nov 10, 2009 at 12:16 PM, Savageman <savagema...@gmail.com> wrote: > > >> Hello, > > >> I'm using jQuery but am not really used to it (Mootools' user > >> here...). > > >> I was trying to add a class to the first parent "div" of an element. > >> Here is how I proceeded in the first place : > >> - $(el).parent('div'); // Doesn't return anything: why? > > >> My second attempt was better (intermediate steps for better > >> comprehension): > >> - $(el).parents('div'); // Returns all parent div, cool but I only > >> need the first: > >> - ($el).parents('div').get(0); // Returns the div I want: yeah again! > >> - $(el).parents('div').get(0).addClass('myClass'); // Doesn't work: > >> why? > > >> Finally my last attempt (I asked for help) was the good one: > >> - $(el).parents('div:first').addClass('myClass'); // Works fine > > >> I was expecting all of the 3 methods to work, but that's not really > >> what's happening: kind of frustating! Can someone explain me why, so I > >> become efficient with jQuery? > > >> Thank you in advance for the provided help. > >> Sincerely, > >> Savageman.