Добавьте некоторые свойства к элементу <div> - PullRequest
2 голосов
/ 21 октября 2011

Я хочу добавить некоторые свойства к элементу <div>. Все перечисленные ниже работы, кроме .data(). Я не вижу его в Firefox / Firebug.

$('#menu-container')
  .css('background-image','url("'+big_image+'")')
  .addClass('click_2')                          
  .data("new_link", "new_link.html")
  .css('z-index',"99");

Я делаю это неправильно?

Ответы [ 3 ]

8 голосов
/ 21 октября 2011

data - это не просто обычный атрибут, который вы можете добавить, это способ прикрепления объектов и данных к элементам DOM.Вы не можете увидеть его в исходном коде HTML или в Firebug, но вы можете запросить его, используя .data()

.На самом деле он хранится в $ .cache

1 голос
/ 21 октября 2011

Используйте

$('#menu-container').attr('data-new_link','new_link.html');

, оно появится в firebug, и вы также можете использовать ожидаемое поведение jQuery

$('#menu-container').data('new_link');

, чтобы извлечь сохраненное значение.

Но на самом деле нет необходимости делать это таким образом.Он сохраняется в коллекции .data() независимо от того, добавлен ли он в качестве атрибута к элементу DOM.

1 голос
/ 21 октября 2011

.data() работает, но не будет отображаться как атрибут элемента.

Если вы хотите, чтобы он работал, вы можете попробовать console.log($('#menu-container').data('new-link'));

Если атрибуты - это то, что выхочу тогда можно сделать .attr('new-link','new-link.html')

...