On Nov 1, 4:38 pm, Jarkko Laine <[EMAIL PROTECTED]> wrote:

> 1) your alerting with a string "bar" there.
> 2) $$ returns an array of elements. If you want a single item, why not  
> give the span a unique id and call it with $? If you need to use the  
> double-dollar selector, you need to get the first element of the array  
> to get the actual element: $$('#container_'+boxID+' span')[0]; One  
> option that gives you the span element (with the html syntax you  
> posted before) is this: $('container_' + boxID).down('span').
>
>
>
> > <a href="#" onclick="foo("24");">click here</a>
>
> > // returns "$$('#container_24 span')";
>
> You mean the function above alerts that string? Frankly, I don't  
> believe you :-)
>
> The parameter that $ and $$ take is just a normal string. There's  
> nothing magical about it. So if you can do "string" + someVar, and the  
> result is a string, you can give it as a parameter to those functions.
>
> //jarkko

I tried out those methods (the [0] ending and the .down function),
neither worked. I'm still struggling to get my head around this - I
can only pass the ID of the element through a function, so it's always
going to be a variable, I can't know it in advance. Here's some actual
code (the above stuff was a simplified (and badly-written...)
function, not the actual one):

//contained within my function:

        var spanName = "span_"+levelID; //levelID is passed in the function
        var spanArray = document.getElementsByClassName(name); // gets all
the elements I want to test
        var completeArray = spanArray.getElementsByClassName('complete'); //
should get all elements within the above array with a class of
'complete'

        // if the number of spans is the same as the number of spans with
'complete' class:
        if(spanArray.size() == completeArray.size()) {
                $('level2_click_1').removeClassName('incomplete');
                $('level2_click_1').addClassName('complete');
                $('level2_click_1').update("ON");
        } else {
                $('level2_click_1').removeClassName('complete');
                $('level2_click_1').addClassName('incomplete');
                $('level2_click_1').update("OFF");
        }


HTML:

<span class="span_1 incomplete" id="level3_click_1">
  <a href="javascript://" onclick="changeState('level3', '1',
'on')">OFF</a>
</span>

<span class="span_2 incomplete" id="level3_click_2">
  <a href="javascript://" onclick="changeState('level3', '2',
'on')">OFF</a>
</span>

<span class="span_3 incomplete" id="level3_click_3">
  <a href="javascript://" onclick="changeState('level3', '3',
'on')">OFF</a>
</span>

####

Basically, when all three of those spans have class name
'complete' (eg, are turned on) I want a different span somewhere else
(the 'level2_click_1' span, which I will need to turn into a variable
rather than a hardcoded reference) needs to switch to 'complete' too.

Does this make any more sense now?

Matt
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" 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/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to