I don't think the cat has any skin left. Or does it?

-Trey



On Feb 13, 3:14 am, mkmanning <michaell...@gmail.com> wrote:
> If the input doesn't exist, then wouldn't nothing be returned with $
> ('input').parent().children(':last')  either? It seems to presume the
> existence of the input :)
>
> Maybe you meant if the input doesn't have siblings, then nothing is
> returned, which is true using nextAll(). Using 'input' with no extra
> identifier also means that this would grab all inputs on the page,
> which may not be desirable. If the input has an identifier, then you
> could also do something like this:
>
> $('input#foo').nextAll(':last').add('input#foo:only-child');
>
> or from your example markup you could do:
>
> $('div input').nextAll(':last').add('div input:only-child'); //fnb it
> would grab all inputs in all divs
>
> This will get the last sibling if there is one, and add the input if
> it's an only child. Btw, lest somebody think otherwise, I'm not
> opposed to traversing up to the parent at all, I just wanted to
> continue pursuing the idea without it for fun :)
>
> Rereading the original post makes me question where the emphasis is
> "The span might or might not be there, so I would like to just get the
> last sibling in a parent". If you're coming from the perspective of
> the parent and not the input, then just doing:
>
> $('div').children(':last');
>
> is all you'd really need. Starting from the perspective of the input
> you have several choices, which is what makes jQuery so much fun:
> there's always more than one way to accomplish some task! It's left to
> you to figure out what is optimal (overall or in your particular
> situation), and that will have to consider speed, legibility for other
> coders, isolation from structure, etc.
>
> On Feb 12, 5:30 am, Ricardo Tomasi <ricardob...@gmail.com> wrote:
>
> > If the input doesn`t exist nothing will be returned with nextAll. Same
> > with jQuery Lover's approach. That's we need to get all the children:
>
> > $('input').parent().children(':last')
>
> > or alternatively
>
> > $('input').siblings().andSelf().filter(':last-child') // I'd bet the
> > other one is faster
>
> > As Mike Manning pointed out, $("div :last-child") will return all the
> > 'last-child's of all the descendants, not just the children. $("div
>
> > > :last-child") would be it.
>
> > cheers,
> > - ricardo
>
> > On Feb 12, 4:19 am, mkmanning <michaell...@gmail.com> wrote:
>
> > > Somehow the selector disappeared :P
>
> > > $('input').nextAll(':last');
>
> > > $(this).nextAll(':last');
>
> > > On Feb 11, 10:17 pm, mkmanning <michaell...@gmail.com> wrote:
>
> > > > $("div :last-child");  finds all of the last-child elements, including
> > > > descendant elements (e.g.  if there were an <a> inside the span in
> > > > your example it would be returned too). You can also not worry about
> > > > the parent at all and just use the sibling selector:
>
> > > >  //or you could use :last-child
>
> > > > As Ricardo suggested, you can use 'this' :
>
> > > > $(this).nextAll(':last');
>
> > > > On Feb 11, 10:05 pm, Ricardo Tomasi <ricardob...@gmail.com> wrote:
>
> > > > > $(this).parent().children(':last') //or :last-child - assuming 'this'
> > > > > is the input element
>
> > > > > On Feb 12, 3:09 am, Risingfish <risingf...@gmail.com> wrote:
>
> > > > > > Thanks Nic,
>
> > > > > > How about if I'm using the input tag as the base? Can I do something
> > > > > > like $("self:parent:last-child") ?
>
> > > > > > On Feb 11, 8:13 pm, Nic Luciano <adaptive...@gmail.com> wrote:
>
> > > > > > > $("div :last-child");
>
> > > > > > > (or this wacky way I tried before I learned CSS selectors....
> > > > > > > $("div").children()[$("div").children().size() - 1])...)
>
> > > > > > > Nic 
> > > > > > > Lucianohttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano
>
> > > > > > > On Wed, Feb 11, 2009 at 9:49 PM, Risingfish 
> > > > > > > <risingf...@gmail.com> wrote:
>
> > > > > > > > Hi James, apologize for not being more precise. I'm using the 
> > > > > > > > input
> > > > > > > > element as my base reference. So using that input element, I 
> > > > > > > > want to
> > > > > > > > get the last sibling under the div. You are correct that if the 
> > > > > > > > span
> > > > > > > > is not then the input is what I want. I may need to add more 
> > > > > > > > tags
> > > > > > > > later (I'm sure you know hoe the development process goes when
> > > > > > > > customers are involved. :) ), so a reliable way to get the last 
> > > > > > > > tag
> > > > > > > > would be nice. Thanks!
>
> > > > > > > > On Feb 11, 7:21 pm, James <james.gp....@gmail.com> wrote:
> > > > > > > > > When you say "last sibling in a parent", what does that mean? 
> > > > > > > > > Which
> > > > > > > > > element is your base reference?
>
> > > > > > > > > In your example:
> > > > > > > > > <div>
> > > > > > > > >   <input ...... />
> > > > > > > > >   <span>...</span>
> > > > > > > > > </div>
>
> > > > > > > > > Do you mean your <div> is the base reference, and you want to 
> > > > > > > > > find the
> > > > > > > > > last child (thus, <span>) relative to that?
> > > > > > > > > And if <span> is not there, you want <input>?
>
> > > > > > > > > On Feb 11, 4:12 pm, Risingfish <risingf...@gmail.com> wrote:
>
> > > > > > > > > > Before I accidentally hit enter, this is what I was trying 
> > > > > > > > > > to type: :)
>
> > > > > > > > > > <div>
> > > > > > > > > >   <input ...... />
> > > > > > > > > >   <span>...</span>
> > > > > > > > > > </div>
>
> > > > > > > > > > The span might or might not be there, so I would like to 
> > > > > > > > > > just get the
> > > > > > > > > > last sibling in a parent.
>
> > > > > > > > > > Thanks!

Reply via email to