How to do JavaScript object introspection?

寵の児 提交于 2019-12-17 23:14:15

问题


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.


回答1:


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...




回答2:


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.




回答3:


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



来源:https://stackoverflow.com/questions/328382/how-to-do-javascript-object-introspection

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!