Sorry for not being clear. I would like to hide H3 when next element does not have class 'calendarEvent' (Meaning, there would be another H3, if there was not a div with class 'calendarEvent'
E.g.: <h3>Text</h3> <h3>Text</h3> <h3>Text</h3> <h3>Text</h3> <h3>Text</h3> <div class="calendarEvent">text</div> <h3>Text</h3> <div class="calendarEvent">text</div> So, the first four H3 elements need to be hidden, as the next element does not have class "calendarEvent" Thanks so much for the help. On May 29, 2:42 am, Wizzud <[EMAIL PROTECTED]> wrote: > Can you be a bit more explicit about what it is that you want to do? > > eg. > > hide H1 where next element does not have class 'fred' > > or > > hide DIV, H1 and H6 where first child is not (DIV.dynamo) > > or > > hide P, H1 thru H6 where next element is not (P.kiev) or is (P.kiev > having a child of A.hideme) > > Then we can stop trying to second guess what it is that you need. > > On May 29, 3:37 am, hubbs <[EMAIL PROTECTED]> wrote: > > > Thank you. So, if I wanted to check to see if there even were any p > > tags after an h1 tag, and I wanted to hide the h1 tag, I would do the > > following? > > > $('h1 + p:not(:has(*))').hide(); > > > On May 28, 7:22 pm, Hamish Campbell <[EMAIL PROTECTED]> wrote: > > > > Don't forget to check the jQuery documentation:http://docs.jquery.com/ > > > > The selector you want is 'prev + > > > next':http://docs.jquery.com/Selectors/next#prevnext > > > > Eg, if I wanted to highlight in blue every paragraph object that comes > > > after a h1 heading: > > > > $('h1 + p').css('color', 'blue'); > > > > On May 29, 2:06 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > Hey guys, > > > > > I realized that I misstated my problem. I realized that the item I > > > > want to check for is NOT a child, but the element that comes AFTER a > > > > specific element. So, I have a list of specific elements, and if an > > > > element with a specific class does not come after the first element, > > > > hide the first element. > > > > > Sorry this sounds strange. I am trying to create a work around for my > > > > CMS. > > > > > On May 28, 5:53 pm, Hamish Campbell <[EMAIL PROTECTED]> wrote: > > > > > > You can do it with selectors: > > > > > > $('#main:not(:has(*))').hide(); > > > > > > Ie - 'select the element with the id "main" that does _not_ contain > > > > > any other element'. > > > > > > Note that this is different from $('#main:empty') which includes text > > > > > nodes. > > > > > > On May 29, 12:10 pm, "Michael Geary" <[EMAIL PROTECTED]> wrote: > > > > > > > I would do it by checking the DOM directly, just because it's > > > > > > reasonably > > > > > > straightforward and very efficient: > > > > > > > var $main = $('#main'); > > > > > > if( $main[0] && $main[0].firstChild ) $main.hide(); > > > > > > > -Mike > > > > > > > > I am wondering how I could check if a parent element has > > > > > > > children, and it it does not, I would like to hide the parent. > > > > > > > > I was looking at something like the following, but I am not > > > > > > > sure how to get it to work how I want: > > > > > > > > $("#main > *").hide;- Hide quoted text - > > > > > > > - Show quoted text -- Hide quoted text - > > > > > - Show quoted text -