2012-03-27 8 views
9

Mogę użyć atrybutu jquery .data i alert potwierdza, że ​​zadziałało, ale nie widzę atrybutu danych na stronie za pomocą firebuga.jquery .data nie widoczne w firebug?

$('#something').data('foo', 52);   
alert($('#something').data('foo'));  
+0

Jak dokładnie spodziewacie się "zobaczyć" to w Firebug? '.data()' nie używa atrybutów HTML. –

+2

To dlatego, że '.data()' nie jest faktycznie przechowywany w elemencie DOM lub jego obiekcie jQuery. Może odczytywać atrybuty "data-", ale nie będzie do nich pisać. – Blazemonger

+1

możliwy duplikat [Jak działa jQuery .data()?] (Http://stackoverflow.com/questions/2764619/how-does-jquery-data-work) – j08691

Odpowiedz

14

Informacje wprowadzane do .data(...) jest nie widoczny atrybut DOM.

Można przeglądać dane obiektu poprzez robi console.log($('#something').data());

Demo: http://jsfiddle.net/maniator/pQybU/

+1

Witam Neal, jedna rzecz, zainstalowałem FireQuery, aby sprawdzić poza atrybutami danych okazało się, że nawet gdy są one zmieniane programowo w połowie drogi (jak pokazują alerty o różnych wartościach przed i po), FireQuery wyświetla tę samą wartość początkową. Czy to znany błąd? – SexyBeast

+0

@Cupidvogel jak wyświetlasz to za pomocą firequery? Próbowałem to rozgryźć. (uratowałby wiele z 'console.log'ing) –

4

jQuery nie faktycznie dodać atrybut danych jako takie do elementu i tak nie ma nic w DOM że Firebug może wyświetlać .

Neal zaznacza, że ​​możesz zarejestrować dane na konsoli, aby sprawdzić, czy rzeczywiście istnieje.

Alternatywnie można zainstalować rozszerzenie Firebug, takie jak FireQuery (http://firequery.binaryage.com/), aby bezpośrednio wyświetlać dane jQuery w samym Firebug.

+2

FireQuery nie działa od Firebug 2.0 (połowa 2014). Sprawdź recenzje [FireQuery] (https://addons.mozilla.org/en-us/firefox/addon/firequery/reviews/). – s3m3n

Powiązane problemy