2012-03-27 4 views
9

Я могу использовать атрибут jquery .data, и предупреждение подтверждает, что оно сработало, но я не вижу атрибута данных на странице с помощью firebug.jquery .data не отображается в firebug?

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

Как именно вы ожидаете «увидеть» его в Firebug? '.data()' не использует атрибуты HTML. –

+2

Это потому, что '.data()' фактически не хранится в элементе DOM или его объекте jQuery. Он может читать атрибуты 'data-', но не будет писать им. – Blazemonger

+1

Возможный дубликат [Как работает jQuery .data()?] (Http://stackoverflow.com/questions/2764619/how-does-jquery-data-work) – j08691

ответ

14

информация введена в .data(...) является не видимый атрибут DOM.

Вы можете просматривать данные объекта, делая console.log($('#something').data());

Демо: http://jsfiddle.net/maniator/pQybU/

+1

Привет, Нил, с одной стороны, я установил FireQuery для проверки я обнаружил, что даже когда они программно меняются в середине пути (о чем свидетельствуют предупреждения, показывающие разные значения до и после), FireQuery продолжает показывать одинаковое начальное значение. Это известная ошибка? – SexyBeast

+0

@Cupidvogel, как вы его просматриваете с помощью firequery? Ив пытался понять это. (сохранит alort 'console.log'ing) –

4

JQuery на самом деле не добавить атрибут данных, как например к элементу, и поэтому нет ничего в DOM, который может отображать поджигатель ,

Как указывает Нил, вы можете записывать данные на консоль, чтобы убедиться, что это действительно так.

В качестве альтернативы вы можете установить расширение Firebug, например FireQuery (http://firequery.binaryage.com/), для непосредственного отображения данных jQuery в Firebug.

+2

FireQuery не работает с Firebug 2.0 (в середине 2014 года). Проверьте [обзоры FireQuery] (https://addons.mozilla.org/en-us/firefox/addon/firequery/reviews/). – s3m3n

Смежные вопросы