Fancybox - 从基于id的元素获取html?

时间:2010-06-02 21:48:05

标签: javascript jquery fancybox

我有以下代码段;

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

但是上面的内容并没有从内容属性中引用的元素中获取内容 - 我做错了什么?

2 个答案:

答案 0 :(得分:1)

替换函数需要一个正则表达式,所以试试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 :(得分:1)

问题已解决。事实证明,{}中不允许this.id。从id中删除这些后,它就可以了。