views:

3199

answers:

4

What to do when after all probing, a reportedly valid object return 'undefined' for any attribute probed? I use jQuery, $('selector').mouseover(function() { }); Everything returns 'undefined' for $(this) inside the function scope. The selector is a 'area' for a map tag and I'm looking for its parent attributes.

+7  A: 

Your question is a bit vague, so maybe you can provide more details?

As for finding out about an object and the values of its properties, there are many ways to do it, including using Firebug or some other debug tools, etc. Here is a quick and dirty function that might help get you started until you can provide more details:

function listProperties(obj) {
   var propList = "";
   for(var propName in obj) {
      if(typeof(obj[propName]) != "undefined") {
         propList += (propName + ", ");
      }
   }
   alert(propList);
}

That will display a list of the properties of the object that you pass it that are not undefined.

Hope that helps...

Jason Bunting
In Firefox you can do simply call toSource( ) on an object: var o = { "moo": "cow", "woof", "dog" }; o.toSource( ); //"({moo:"cow", woof:"dog"})"
apphacker
Or, for that matter, use the now-built-in JSON object and call stringify() on it as well - the results are a bit different, but not much. https://developer.mozilla.org/En/Using_native_JSON
Jason Bunting
A: 

Is selector the name of the element? If so then you should reference it as:

$('area#selector')

or

$('#selector')

otherwise it will attempt to look for the (non-existent) "selector" HTML tag and, obviously, not find it.

tvanfosson
Yes, the correct notation was used: $('#myarea') where the id='myarea' for the area tag. Thanks.
Florin
A: 

I'm coming from static languages where introspection is always present. My question is not much about my particular snag but about reflection and javascript in general. I looked around and I don't seem to find much on this subject.

Thank you.

Florin
A: 

Though this answer is a bit late, I'd still recommend checking out these links:

http://www.webweavertech.com/ovidiu/weblog/archives/000317.html
http://www.syger.it/Tutorials/JavaScriptIntrospector.html