Try using just: $("span.message:lt(100)") If you want to remove elements that are on the bottom, you may want to use gt() instead of lt(). For example, suppose your code looks like:
<span class="message" id="msg5">test</span> // index 0 <span class="message" id="msg4">test</span> // index 1 <span class="message" id="msg3">test</span> // index 2 <span class="message" id="msg2">test</span> // index 3 <span class="message" id="msg1">test</span> // index 4 Doing: $("span.message:gt(2)").hide(); will hide: <span class="message" id="msg2">test</span> // index 3 <span class="message" id="msg1">test</span> // index 4 because they have index greater-than 2. On Sep 1, 10:16 am, Namir <namiras...@hotmail.com> wrote: > I tried using this $("span.message[id="+old_messages+"]:lt(100)").hide > ("slide", {direction: "up"}, "2000"); but it doesnt seem to be working > correctly > > On Sep 1, 7:07 pm, aquaone <aqua...@gmail.com> wrote: > > > Then use indexes from the parent and :lt > > (http://docs.jquery.com/Selectors/lt#index) > > > aquaone > > > On Tue, Sep 1, 2009 at 04:07, Namir <namiras...@hotmail.com> wrote: > > > > Well its for a chat box and I want to remove old messages as new > > > messages come in, so that there are 20 messages being shown at any one > > > time, using = works perfectly if you add 1 new message because it > > > selects the last message ID and subtracts 20, but if you add 2 > > > messages then the first message will stay and the second message will > > > disappear. > > > Source code:http://www.forsakenrealms.co.cc/chat/?user=test > > > > On Aug 31, 11:01 pm, "Michael Geary" <m...@mg.to> wrote: > > > > Can you give us a hint what your DOM elements look like? For example, > > > > are > > > > these ID attributes in ascending order in the DOM? That would allow you > > > to > > > > use a very fast binary search. If they are in an undetermined order then > > > > you're pretty much stuck with looping through them - but with thousands > > > of > > > > them I would use a for loop rather than .each(). > > > > > Or as Josh suggested, do something on the server. But it's hard to make > > > any > > > > recommendations without knowing more about what you're doing. > > > > > -Mike > > > > > > From:Namir > > > > > > Still how would I do it with an each? I'd still need to > > > > > select all the ones with an attribute of less than x, and it > > > > > would be stupid to loop it from 1 to whatever as x can reach > > > > > thousands. Do you have any other suggestions as to how I > > > > > could do this? > > > > > > On Aug 31, 9:58 pm, aquaone <aqua...@gmail.com> wrote: > > > > > > id will be a string. AFAIK there's no built-in to parse it > > > > > as a number > > > > > > and compare. you'd either have to .each() it or find > > > > > another means of > > > > > > accomplishing what you are trying to do. > > > > > > > aquaone > > > > > > > On Mon, Aug 31, 2009 at 13:50,Namir<namiras...@hotmail.com> wrote: > > > > > > > > How can I do a less than in a select e.g. something like > > > > > > > $.("span.class [id<"+ a_custom_variable +"]") when I > > > > > tried that it > > > > > > > just selected all span of class with an ID attribute rather than > > > > > > > where ID attribute is less than > >