Co zrobić, gdy po wszystkich sondowaniach, prawidłowo poprawny obiekt zwraca "niezdefiniowany" dla dowolnego sondowanego atrybutu? Używam jQuery, $('selector').mouseover(function() { });
Everything zwraca 'undefined' dla $(this)
wewnątrz zakresu funkcji. Selektor to "obszar" dla znacznika mapy i szukam jego atrybutów nadrzędnych.Jak wykonać introspekcję obiektów JavaScript?
Odpowiedz
Twoje pytanie jest trochę niejasne, więc może możesz podać więcej szczegółów?
Jeśli chodzi o dowiadywanie się o obiekcie i wartości jego właściwości, można to zrobić na wiele sposobów, w tym za pomocą Firebuga lub innych narzędzi do debugowania itp. Oto szybka i brudna funkcja, która może pomóc w rozpoczęciu pracy. aż można podać więcej szczegółów:
function listProperties(obj) {
var propList = "";
for(var propName in obj) {
if(typeof(obj[propName]) != "undefined") {
propList += (propName + ", ");
}
}
alert(propList);
}
to wyświetli listę właściwości obiektu, aby zdać go, że nie są undefined
.
nadzieję, że pomoże ...
Czy selector
nazwa elementu? Jeśli tak, to należy odwołać się go jako:
$('area#selector')
lub
$('#selector')
inaczej będzie próbować szukać (nieistniejącego) „selektor” tag HTML i, oczywiście, nie go znaleźć.
Tak, użyto prawidłowej notacji: $ ("# myarea") gdzie id = "myarea" dla znacznika obszaru. Dzięki. – Florin
Choć ta odpowiedź jest nieco późno, ja nadal polecam sprawdzić te linki:
http://www.webweavertech.com/ovidiu/weblog/archives/000317.html
http://www.syger.it/Tutorials/JavaScriptIntrospector.html
W Firefoksie można to zrobić wystarczy wywołać toSource() na obiekcie: var o = {"moo": "krowa", "woof", "pies"}; o.toSource(); // "({moo:" krowa ", woof:" pies "})" –
Albo, o to chodzi, użyj wbudowanego obiektu JSON i wywołaj na nim stringify() - wyniki są nieco różne, ale niewiele. https://developer.mozilla.org/En/Using_native_JSON –
świetne szybkie narzędzie do introspekcji !!! – jsh