1
2
3
4
5
6
7
8
9
10
11
(function($){
   var _dataFn = $.fn.data;
   $.fn.data = function(key, val){
      if (typeof val !== 'undefined'){
         $.expr.attrHandle[key] = function(elem){
            return $(elem).attr(key) || $(elem).data(key);
         };
      }
      return _dataFn.apply(this, arguments);
   };
})(jQuery);

Запись селектора такая же как и для селектора по атрибутам.

1
2
3
4
5
// Добавляем данные для элемента:
$('a#someLink').data('ABC', '123');
 
// Выбираем элемент с указанным значением data, как если бы выбирали атрибут!!!
$('a[ABC=123]');

В конфликтных ситуациях, если совпадет имея атрибута и ключ в .data(), то будет работать только поиск по атрибуту.

1
2
3
4
5
// <a href="http://google.com" id="someLink">Google</a>
$('a#someLink').data('href', 'not the real href');
 
$('a[href=http://google.com]'); // Будет работать
$('a[href="not the real href"]'); // Ничего не найдет

источник: james.padolsey.com

Оставьте свой комментарий