Fancybox - получение HTML от элемента на основе идентификатора?

У меня есть следующий отрывок;

$("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()
        });
    });

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

1
задан kastru 2 June 2010 в 21:48
поделиться

2 ответа

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

1
ответ дан 3 September 2019 в 00:06
поделиться

функции замены требуется регулярное выражение, поэтому попробуйте 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;
        });
    });
1
ответ дан 3 September 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: