我有以下代码段;
$("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()
});
});
但是上面的内容并没有从内容属性中引用的元素中获取内容 - 我做错了什么?
答案 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中删除这些后,它就可以了。