you should now be able to use .closest(), although i agree, the naming
should have been firstancest or something. closest sounds too much
like a sibling traversal.
i currently constructs like .parents("li:eq(0)") all over the place,
pretty much identical to Karl's sugg. i think i'll be switching to
"closest", but be careful, closest can return itself as well if it
matches, so in a situation like this, they would return the same
results:
<div>
<div id="foo">
</div>
</div>
$("#foo").parent("div"); // should return the outer div
$("#foo").parents("div:eq(0)"); // should return the outer div
$("#foo").closest("div"); // should return the inner div
Leon
On Jan 14, 9:57 am, Just <[email protected]> wrote:
> No response about that ? Is it so dumby :P ?
>
> On 16 déc 2008, 16:34, Just <[email protected]> wrote:
>
> > Hi Ricardo !
> > Thanks to answering :).
>
> > Yea should be "first-ancestor" so.
>
> > On 16 déc, 13:43, Ricardo Tomasi <[email protected]> wrote:
>
> > > If you'll allow me, I believe what Just suggested should indeed be
> > > possible with CSS only, as the same can be achieved in the other
> > > direction. But the naming is confusing, there is only one possible
> > > parent so 'first-parent' would be redundant.
>
> > > Wouldn't that be the case of making the :first pseudo-class match the
> > > first element for each traversal/element? It's replicating the
> > > functionality of eq(0) anyway.
>
> > > Or maybe some 'reverse' selectors:
> > > $('input.toto < li:first')
>
> > > On Dec 15, 3:10 pm, Karl Swedberg <[email protected]> wrote:
>
> > > > You could do this:
>
> > > > $('input.toto').each(function() {
> > > > $(this).parents('li:first').remove();
>
> > > > });
>
> > > > --Karl
>
> > > > ____________
> > > > Karl Swedbergwww.englishrules.comwww.learningjquery.com
>
> > > > On Dec 15, 2008, at 9:35 AM, Just wrote:
>
> > > > > Hi John :),
> > > > > and thanks to answering.
>
> > > > > Because, as the :first is defined, it just removed the first element
> > > > > matched by $('input.toto').parents('li:first').
> > > > > Not first LI parent of each element (here each first LI parent of EACH
> > > > > input element having the class "toto").
>
> > > > > That's my problem so.
>
> > > > > I thinks that's why first-child exists too.
>
> > > > > On 12 déc, 18:40, "John Resig" <[email protected]> wrote:
> > > > >> Why not just do:
> > > > >> $('input.toto').parents('li:first').remove();
>
> > > > >> --John
>
> > > > >> On Fri, Dec 12, 2008 at 9:54 AM, Just <[email protected]>
> > > > >> wrote:
>
> > > > >>> Hi,
>
> > > > >>> Example : I have list into other list, in few LI element I've got
> > > > >>> input. I want to take all input element which have the class "toto"
> > > > >>> and remove the LI which is the parent of the input (not the direct
> > > > >>> ancestor ;)).
>
> > > > >>> So it will be good if I could do something like:
> > > > >>> $('input.toto').parents('li:first-parent').remove();
>
> > > > >>> What about that please ?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---