It isn't possible to have an LI sibing right before a UL.  
That would mean markup like this:

<ul>
   <li>List Item #1</li>        <-- LI Sibling
   <ul>                         <-- UL
      <li>List Item #2</li>
      <li>List Item #3</li>
   </ul>
</ul>

That is illegal markup.

Your markup actually looks like this:

<h1>Get to know Trinity</h1>     <-- H1 sibling
<ul>                             <-- UL
   <li>
      <a href="...">About Us</a> <-- A sibling
      <ul>                       <-- UL
         <li><a href="...">History</a></li>
         ....

These are the elements you are getting with a $('ul').prev()

There ARE no LI siblings just before a UL.

So which elements are you actually trying to get?
JK

-----Original Message-----
From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of flycast
Sent: Sunday, November 30, 2008 8:42 AM
To: jQuery (English)
Subject: [jQuery] Re: Problem with prev() in IE


No. I am definitely looking for the <li> sibling right before any
<ul>...</ul>. I am building menus and submenus. Any <ul>...<ul> that
appears below a <li>...</li> is a submenu. I know that I could add a
"name" or class to either the head or subhead. I wouod rather have
jQuery find these so that I don't have any markup in the HTML
necessary to make this work.

On Nov 29, 11:21 pm, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
> Okay, so I stepped through the code.  I'm going to hazard a guess that you
> didn't want the previous element but the parent element.
>
> $('#LHNav ul').prev() returns an H1 and an array of A elements.
>
> This is because prev looks for the sibling element just in front of the
> current one.
>
> $('#LHNav ul').parent('li') will, I believe, return the results you are
> looking for.
>
> JK
>
> P.S. IMO, the really odd thing is why FF worked when I believe it should
> have returned an empty set.  Anyone else have any ideas?
>
> -----Original Message-----
> From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On
>
> Behalf Of flycast
> Sent: Saturday, November 29, 2008 8:29 PM
> To: jQuery (English)
> Subject: [jQuery] Re: Problem with prev() in IE
>
> Yes...http://www.trinityacademy.org/testNavigation/
>
> On Nov 29, 6:22 pm, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
> > I've used something very similar to that in IE6 without any problems.
>
> > Could you post a demo page?
>
> > JK
>
> > -----Original Message-----
> > From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On
>
> > Behalf Of flycast
> > Sent: Saturday, November 29, 2008 3:57 PM
> > To: jQuery (English)
> > Subject: [jQuery] Problem with prev() in IE
>
> > This code works fine in FF and Safari but (surprise, surprise) not in
> > IE6.
>
> > $("#LHNav ul").prev('li').each(function(){
> > alert("Loop");
> > });
>
> > I have narrowed it down to giving prev() some value to filter by. IF I
> > try it like this:
> > (notice the missing "li")
>
> > $("#LHNav ul").prev().each(function(){
> > alert("Loop");
> > });
>
> > It works fine. Why does IE always have to be so buggy and particular?

Reply via email to