> Oops. got the selector wrong. It should be: > $( function() { > $(div[class^=hide-BAT].hide(); > }); > Joe
You still didn't get it right :-) $("div[class^=Hide-BAT]").hide(); To original poster: if you want "fast", then you can't beat CSS with jQuery's hide method have like: <div class="Hide BAT1"> <div class="Hide BAT1"> ..... <div class="Hide BAT55"> and now the CSS class "Hide" is defined like so: .Hide { display: none; } But, I'd suggest really reading into some replies above, you shouldn't be using class names this way..... if your <div> needs to be uniquely identified, then ID is the way to go, and the class name "BAT" would be used to grab all those uniquely identified <div>'s so building on that (note: id's are not supposed to start with numbers, hence the "B"): <div id="B1" class="Hide"> <div id="B2" class="Hide"> ..... <div id="B55" class="Hide"> so now on page load, it'll see: .Hide { display: none; } and not show all 55 <div>'s want to do something to item 35? function Action(id) { $("#B" + id).doSomething } Action("35") want to do something to all 55 items? $(".Hide").show() doesn't that seem easier plus more importantly make more sense? something like the suggested selector against your current structure $("div[class^=hide-BAT]").hide(); while it *would work*, you need to understand why it is slow... - first jQuery walks across the whole entire DOM tree grabbing every single <div>, and that's whether it's one you are after or not - then id needs to get every single class name, and do a (relatively to other methods anyways) slow "end with" operator Yuck.... and just think if you had 200 of those <div>'s, or 400 ! On Nov 11, 8:58 am, Joe Moore <joe.lynn.mo...@gmail.com> wrote: > Oops. got the selector wrong. It should be: > > $( function() { > $(div[class^=hide-BAT].hide(); > > }); > > Joe > > On Wed, Nov 11, 2009 at 8:38 AM, Joe Moore <joe.lynn.mo...@gmail.com> wrote: > > $( function() { > > $(div[class=hide-BAT$].hide(); > > }); > > > I haven't tested this, but it should work. If not, verify the selector. > > > Not sure why you are giving a unique classname to all these elements. If > > you need it, why not use the I'd attribute? > > > Regards, > > Joe > > > On Nov 11, 2009 8:17 AM, "David pr" <davidpric...@gmail.com> wrote: > > > Hello, > > > Could you help me please. I have a list of hotel which I .hide > > and .show div's to show more or less info. > > > so i have > > > <div class="Hide-BAT1 ... > > > > to > > > <div class="Hide-Bat55 … > > > > when the user press a button I use the code > > var Hcode = $(this).attr("custom"); > > $('div.Hide-' + Hcode).toggle(); > > > but when the page loads how do I hide this div automatically ? > > > I have used > > > for (i = 0; i <= 70; i++) > > { > > $("div.Hide-BAT" + i).hide(); > > } > > > But its slow and probably not the best way to do it ? > > > Hope you can help and this makes sense. > > > Regards > > > David