Thats a very smart way of doing it. Thanks a lot. Also why is it
invalid to start an ID as a number? I'm not receiving any errors by
doing it. Should I instead set a custom attribute called msg_id and
use that?

On Sep 1, 10:21 pm, James <james.gp....@gmail.com> wrote:
> It doesn't matter if they're missing IDs. You don't need the IDs.
> (Also, IDs cannot begin with a number. It's not valid.)
> All you need to know is how many new messages you received on your
> latest update (to determine how many old ones to remove), and your
> maximum number of messages to display at once. That is enough info to
> do what you want.
>
> On Sep 1, 11:07 am, Namir <namiras...@hotmail.com> wrote:
>
>
>
> > wouldnt work, even if I set the index to count the number of messages
> > and subtract 20 and index those as sometimes there may be missing ID's
> > as they may have been deleted.
>
> > On Sep 1, 9:59 pm, James <james.gp....@gmail.com> wrote:
>
> > > 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

Reply via email to