On Sat, 04 Feb 2006 03:49:23 +0200, Brad Fults <[EMAIL PROTECTED]> wrote:

On 2/3/06, Jim Ley <[EMAIL PROTECTED]> wrote:
<...>

I can't believe that you're so insistent upon this extremely narrow
set of use cases and that there aren't any other popular use cases for
getElementsByClassName().

If there are no use cases for this function then what are the use
cases for getElementById()? I suppose this should be
addEventToElementById()? How about getElementsByTagName()? That one
too, eh?

The point of getElementsByClassName() is superior control over the
DOM. Where getElementById() falls short by only returning one element
and getElementsByTagName() falls short by only returning one,
document-mandated type of element, getElementsByClassName() gives the
author the control to collect arbitrary sets of elements which all
share the same class or set of classes.

<...>

Completely irrelevant. See getElementById() or getElementsByTagName().
The requirement for a loaded document is to be expected when one
wishes to manipulate the constructed DOM from that document.

<...>

Hello!
Very good point. There are many use-cases for getElementsByClassNames(). This is not a useless function, it's a very useful one.

For example:

Lets take the IMDB site. Comments are marked as being positive or negative, so users can pick which type of comments they want to see. Each comment *could* (it is not currently AFAIK) styled accordingly (like change the background-color for negative comments, or whatever). It is fair to assume that the negative and positive comments will have their own class name. With getElementsByClassNames() you can have a UserJS that manipulates those comments (for example, it could parse them all and save a local db of negative comments :) ).

Or ... another use-case would be a site-wide JavaScript for my site that finds all emoticons from comments (yes, each emoticon has class="emoticon"). I could do "cool" things with 'em using getElementsByClassNames(). If I currently want to manipulate all the emoticons from JS I have to use getElementsByTagName('img') then check for .className="emoticon" which is slow and not very efficient.

Now ... we could go on and provide many more imaginary use-cases ... or we can go on and discuss something else :).


--
http://www.robodesign.ro
ROBO Design - We bring you the future

Reply via email to