Как выполнить самообследование JavaScript-объектов?

Что делать, если после проверки, как утверждается, действительный объект возвращает 'undefined' для любого исследуемого атрибута? Я использую jQuery, $('selector').mouseover(function() { }); Все возвращает 'undefined' для $(this) внутри области функции. Селектор является 'area' для тега карты, и я ищу его родительские атрибуты.

Ответ 1

Ваш вопрос немного расплывчатый, так что, возможно, вы можете предоставить более подробную информацию?

Что касается определения объекта и значений его свойств, есть много способов сделать это, включая использование Firebug или некоторых других инструментов отладки и т.д. Вот быстрая и грязная функция, которая может помочь вам начать работу до тех пор, пока вы можете предоставить более подробную информацию:

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

Это отобразит список свойств объекта, который вы передаете, который не является undefined.

Надеюсь, что это поможет...

Ответ 2

Является ли selector именем элемента? Если это так, вы должны ссылаться на него как:

$('area#selector')

или

$('#selector')

в противном случае он попытается найти (несуществующий) "селектор" HTML-тег и, очевидно, не найти его.