Я думал об этой проблеме еще несколько часов и решил подойти к ней по-другому, так как я был почти в тупике.Я думал, что если я не могу нацелить относительный div, возможно, тогда я смогу автоматически назначить значения href
и id
, чтобы на каждую ссылку можно было ориентироваться через ее идентификатор.
Это на самом делеотлично сработал и отвечает всем моим требованиям:
$('.more-info a').each(function(index){
var x = index + 1;
$(this).attr('href', '#box' + x);
var li = $(this).parent().parent();
$('.help', li).attr('id', 'box' + x);
}).fancybox();
$('.more-info a').each(function(index){
Я нацеливаюсь на все свои ссылки и перебираю их. var x = index + 1;
Индекс начинается с 0, нодля удобства чтения я начинаю с 1. $(this).attr('href', '#box' + x);
Я беру значение href
текущей ссылки (в настоящее время #
) и заменяю его на #box[INDEX]
, где index - это уникальное, автоматически увеличивающееся число. var li = $(this).parent().parent();
Я перемещаю назад элементы представления, чтобы я мог отточить свой скрытый div .help
. $('.help', li).attr('id', 'box' + x);
Теперь я нацеливаюсь на .help
div и добавляю атрибутназывается id
и установите его на box[INDEX]
.Теперь у меня есть необходимая связь между ссылкой и скрытым div, чтобы fancybox мог творить чудеса. }).fancybox();
Это позволяет fancybox узнать, как открыть с ним мои ссылки.
Функции jQueryиспользуется: .each () , .attr () , .parent ()
Любые предложения или улучшения по-прежнему приветствуются.
-Райан