Fancybox - получить HTML из элемента на основе идентификатора? - PullRequest
1 голос
/ 03 июня 2010

У меня есть следующий фрагмент;

$("a.lightbox_image").each(function () {
        $(this).fancybox({
            'transitionIn': 'elastic',
            'transitionOut': 'elastic',
            'speedIn': 600,
            'speedOut': 200,
            'content': $('#lightbox_image_content_'+this.id.replace('lightbox_image_','')).html()
        });
    });

Но вышеизложенное не получает контент от элемента, на который ссылается свойство content - что я делаю неправильно?

Ответы [ 2 ]

1 голос
/ 03 июня 2010

Проблема решена.Оказывается, нельзя иметь {} в this.id.После удаления их из идентификатора все заработало.

1 голос
/ 03 июня 2010

функция замены нуждается в регулярном выражении, поэтому попробуйте replace(/lightbox_image_/, '') и попытаться получить val() вместо html()

$("a.lightbox_image").each(function () {
  var id = "lightbox_image_content_"+this.id.replace(/lightbox_image_/,'');
  var content = $("#"+id).html();
        $(this).fancybox({
            'transitionIn': 'elastic',
            'transitionOut': 'elastic',
            'speedIn': 600,
            'speedOut': 200,
            'content': content;
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...