2012-01-03 13 views
29

Nie jestem dość biegły w manewrowaniu jQuery, i doszło do tego, że muszę debugować program, który został przekazany ode mnie bez dokumentacji.obiekt jquery dump w polu alertu

Mam ten var a, obiekt, który naprawdę chcę poznać zawartość jego kolekcji. W mojej głowie potrzebuję funkcji takiej jak foreach() w PHP do iteracji nad tą zmienną obiektową. Po zbadaniu kończę w użyciu jQuery.each(). Teraz mogę wyraźnie iterować i zobaczyć, co było wewnątrz var a.

Jednak denerwujące było ostrzeżenie o każdej wartości na var a. Co chcę wiedzieć, czy możliwe jest wyświetlenie całej zawartości tylko w jednym okienku alarmowym?

Oto mój kod:

$.each(a, function(index, value) { 
alert(index + ': ' + value); 
}); 

var zawiera infos takie jak:

creationdate: date_here 
id: SWFUpload 
modificationdate: date_here 
type: .jpg 
index: 0 
name: uploaded_filename.jpg 
size: size_in_bytes 

BTW: var nazywany jest przez skrypt wysyłania plików.

+1

możesz użyć 'stringfy' lub' console.log() ' – diEcho

+0

możesz pokazać nam, co' a' ma ?? – diEcho

+0

@diEcho - Edytowałem moje pytanie. –

Odpowiedz

33

Dlaczego nie można po prostu gromadzić wartości w tablicy, a następnie wyświetlić całą tablicę (na przykład, używając JSON)? Przykład:

var acc = [] 
$.each(a, function(index, value) { 
    acc.push(index + ': ' + value); 
}); 
alert(JSON.stringify(acc)); 

W każdym razie, moim przy użyciu narzędzia do debugowania jak Firebug. Więc możesz po prostu użyć console.log (a) i być w stanie swobodnie poruszać się po polach obiektów.

+0

Świetnie. Jak tego szukam. Chociaż wynik był trochę bełkotliwy do obejrzenia, nadal jest w porządku. Dzięki! –

+1

Trudno jest uzyskać konsolę, tj. Podczas debugowania aplikacji mobilnej iOS7 na prawdziwym urządzeniu, więc to pomaga. – EralpB

28

w Firefoksie można spróbować:

 

alert(yourObject.toSource()); 
 

lub można użyć jakiś plugin: Patrz: jQuery Dump Plugin

+0

Świetna sugestia dotycząca wtyczki jQuery Dump. –

+0

Nice! Całkowicie nie wiedziałem o 'toSource()' w FF. +1 –