I get the same result if I use the following more simple method:

var switchlinks = document.getElementsByClassName('switcher');

I have never seen this problem before... I can only think that the
HTML is incorrectly formatted... This is only meant to be a five
minute example to show another developer and the creative team... I've
looked at this for nearly an hour and got no where...

On Jun 21, 4:30 pm, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> On Jun 21, 4:22 pm, Tom Gregory <[EMAIL PROTECTED]> wrote:> I'll bet what 
> you're seeing is an implicit toString() implementation
> > by the browser.  You're getting elements back, but it's converting
> > them output to hyperlinks when you alert().
>
> I thought that but if a test the value more explicitly in the
> iteration loop by outputting the type of the DOM object I get an
> undefined output or at least a NULL value.
>
> unction setupSwitches(){
>         //we define two arrays, containing our switches and divs.
>         var switchlinks = $$('a.switcher');
>         var stretchdivs = $$('.stretcher');
>         alert(switchlinks);
>         alert(stretchdivs);
>
>         //then we create the effect.
>         switchlinks.each(function(s){
>                 alert(s.type); // This alert has not output at all it is NULL
>                 s.onClick = function()
>                 {
>                         // function actions here
>                 }
>         });
>
> }
> > TAG
>
> > On Jun 21, 2007, at 9:15 AM, [EMAIL PROTECTED] wrote:
>
> > > Hi I have a problem that I have never come across before while using
> > > prototype...
>
> > > I am using this selector $$('a.switch'), and I had expected and array
> > > of DOM objects to be returned e.g.
> > > [object HTMLAElement],[object HTMLAElement],[object HTMLAElement],
> > > [object HTMLAElement]
>
> > > but what I get is and array that contains the href value of the a tags
> > > e.g.
>
> > >http://www.domain.co.uk/page.html#
>
> > > Is this a bug or am I missing something... I have some more long
> > > winded javascript that works but I wanted to use the new CSS selectors
>
> > > here is the code:
>
> > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > > "http://
> > >www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > > <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
> > > <head>
>
> > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> > > <meta name="title" content="Expandable Div" />
> > > <meta name="robots" content="index, follow" />
> > > <meta name="description" content="checkbox" />
> > > <meta name="keywords" content="checkbox" />
> > > <meta name="language" content="en" />
>
> > > <title>Expandable Div</title>
>
> > > <link rel="shortcut icon" href="/favicon.ico" />
>
> > > <script type="text/javascript" src="js/prototype.js"></script>
> > > <script type="text/javascript" src="js/scriptaculous.js"></script>
> > > <link rel="stylesheet" type="text/css" media="screen" href="css/
> > > master.css" />
>
> > > </head>
> > > <body>
> > > <h1>Expandable Div Example</h1>
> > > <div>
> > >    <a href="#" id="switch1" class="switch">Click to expand 1</a>
> > >    <div id="region1" class="stretcher" style="display: none">
> > >            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
> > > Nam
> > > vehicula dapibus nibh.
> > >            Sed eget nulla. Vestibulum mollis, pede quis iaculis imperdiet,
> > > sapien enim fringilla velit,
> > >            sed pulvinar leo risus eget eros. Etiam pede. In hac habitasse
> > > platea dictumst. Nulla facilisi.
> > >            Fusce consequat eros sit amet nisl sollicitudin pretium. 
> > > Praesent
> > > nulla nulla, posuere quis,
> > >            bibendum non, vestibulum sed, risus. Donec mollis hendrerit 
> > > libero.
> > > Fusce eleifend lacus non
> > >            augue. In venenatis turpis ac diam.</p>
> > >            <p>Nam feugiat, metus a ultricies dictum, diam nibh convallis 
> > > est,
> > > ut pellentesque ipsum dolor
> > >            placerat lorem. Nulla laoreet nulla ut orci. Nunc ut augue.
> > > Vestibulum nec magna. Fusce convallis.
> > >            Donec blandit. Morbi lobortis magna et nulla. Aenean varius 
> > > lectus
> > > id nisl. Nam vestibulum.
> > >            Cras diam dui, auctor eget, mollis nec, volutpat egestas, 
> > > mauris.
> > > Integer turpis. Vivamus ut
> > >            arcu. Sed libero tortor, dapibus id, blandit at, pulvinar a, 
> > > enim.
> > > In gravida eros.
> > >            Proin malesuada urna ac massa. Cras vulputate. Ut adipiscing
> > > venenatis arcu.</p>
> > >    </div>
> > > </div>
> > > <div>
> > >    <a href="#" id="switch2" class="switch">Click to expand 2</a>
> > >    <div id="region2" class="stretcher" style="display: none">
> > >            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
> > > Nam
> > > vehicula dapibus nibh.
> > >            Sed eget nulla. Vestibulum mollis, pede quis iaculis imperdiet,
> > > sapien enim fringilla velit,
> > >            sed pulvinar leo risus eget eros. Etiam pede. In hac habitasse
> > > platea dictumst. Nulla facilisi.
> > >            Fusce consequat eros sit amet nisl sollicitudin pretium. 
> > > Praesent
> > > nulla nulla, posuere quis,
> > >            bibendum non, vestibulum sed, risus. Donec mollis hendrerit 
> > > libero.
> > > Fusce eleifend lacus non
> > >            augue. In venenatis turpis ac diam.</p>
> > >            <p>Nam feugiat, metus a ultricies dictum, diam nibh convallis 
> > > est,
> > > ut pellentesque ipsum dolor
> > >            placerat lorem. Nulla laoreet nulla ut orci. Nunc ut augue.
> > > Vestibulum nec magna. Fusce convallis.
> > >            Donec blandit. Morbi lobortis magna et nulla. Aenean varius 
> > > lectus
> > > id nisl. Nam vestibulum.
> > >            Cras diam dui, auctor eget, mollis nec, volutpat egestas, 
> > > mauris.
> > > Integer turpis. Vivamus ut
> > >            arcu. Sed libero tortor, dapibus id, blandit at, pulvinar a, 
> > > enim.
> > > In gravida eros.
> > >            Proin malesuada urna ac massa. Cras vulputate. Ut adipiscing
> > > venenatis arcu.</p>
> > >    </div>
> > > </div>
> > > <div>
> > >    <a href="#" id="switch3" class="switch">Click to expand 3</a>
> > >    <div id="region3" class="stretcher" style="display: none">
> > >            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
> > > Nam
> > > vehicula dapibus nibh.
> > >            Sed eget nulla. Vestibulum mollis, pede quis iaculis imperdiet,
> > > sapien enim fringilla velit,
> > >            sed pulvinar leo risus eget eros. Etiam pede. In hac habitasse
> > > platea dictumst. Nulla facilisi.
> > >            Fusce consequat eros sit amet nisl sollicitudin pretium. 
> > > Praesent
> > > nulla nulla, posuere quis,
> > >            bibendum non, vestibulum sed, risus. Donec mollis hendrerit 
> > > libero.
> > > Fusce eleifend lacus non
> > >            augue. In venenatis turpis ac diam.</p>
> > >            <p>Nam feugiat, metus a ultricies dictum, diam nibh convallis 
> > > est,
> > > ut pellentesque ipsum dolor
> > >            placerat lorem. Nulla laoreet nulla ut orci. Nunc ut augue.
> > > Vestibulum nec magna. Fusce convallis.
> > >            Donec blandit. Morbi lobortis magna et nulla. Aenean varius 
> > > lectus
> > > id nisl. Nam vestibulum.
> > >            Cras diam dui, auctor eget, mollis nec, volutpat egestas, 
> > > mauris.
> > > Integer turpis. Vivamus ut
> > >            arcu. Sed libero tortor, dapibus id, blandit at, pulvinar a, 
> > > enim.
> > > In gravida eros.
> > >            Proin malesuada urna ac massa. Cras vulputate. Ut adipiscing
> > > venenatis arcu.</p>
> > >    </div>
> > > </div>
> > > <script type="text/javascript">
>
> > > function setupSwitches(){
> > >    //we define two arrays, containing our switches and divs.
> > >    var switchlinks = $$('a.switch');
> > >    var stretchdivs = $$('.stretcher');
> > >    alert(switchlinks);
> > >    alert(stretchdivs);
>
> > >    //then we create the effect.
> > >    switchlinks.each(function(elem){
> > >            elem.onClick = function()
> > >            {
> > >                    // function actions here
> > >            }
> > >    });
> > > }
>
> > > Event.observe(window, 'load', setupSwitches);
>
> > > </script>
> > > </body>
> > > </html>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to