Всем спасибо, сам разобрался.
Нужно было немного доработать jQuery чтобы была возможность использовать селекторы по таким динамическим данным:
(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);
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший