At the time you create your ObjectMap, do the DOM elements you're trying to
reference already exist?

If your ObjectMap definition is earlier in the HTML output than the DOM
elements themselves, then they won't exist yet. In your test code, if you
look at o.length, I'll bet it's zero - which means that the selector did not
find any matching elements.

You need to make sure the DOM elements exist before you try to use them in
selectors, either by putting the ObjectMap creation code after those
elements, or by putting it inside a $(document).ready() callback.

BTW, for future reference, a question like this should go in the main jQuery
mailing list. The jquery-dev list is for discussions related to the
development of the jQuery library itself, not questions about the use of
jQuery.

-Mike

> From: Monty
> 
> Hello All,
> 
> I'm trying to create a jQuery map/array of all controls on an 
> ASP.net page for easier client runtime access. I output the 
> following to the
> page:
> 
> var ObjectMap = {
>                       ctl00: $("#ctl00_DefaultContent_ctl00"),
>                       chkEmployee: 
> $("#ctl00_DefaultContent_chkEmployee"),
>                       ctl01: $("#ctl00_DefaultContent_ctl01"),
>                       chkContractor: 
> $("#ctl00_DefaultContent_chkContractor"),
>                       ctl02: $("#ctl00_DefaultContent_ctl02"),
>                       chkVisitor: 
> $("#ctl00_DefaultContent_chkVisitor"),
>                       ctl03: $("#ctl00_DefaultContent_ctl03")
>               };
> 
> which refers to ASP.Net named controls. However, when I 
> access this array with the following it does not work (see 
> variable o):
> 
> function TogglePersonType()
> {
>     var o = ObjectMap.chkEmployee;
>     alert(o.html());
>     o.hide();
>     //e.toggle();
>     //alert(e.html());
>     //alert(e.toHTML());
> }
> 
> o.html() returns null and other jQuery methods do not seem to 
> work (e.g. hide()). No error is thrown though.
> 
> Any pointers would be greatly appreaciated.
> 
> Thanks


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" 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/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to