jQuery fancybox – iframe中的特定div #id

是否可以使用fancybox从另一个页面加载特定的div #id,而不是通过iframe加载整个页面?

例如,我可以使用

$('#link-whole').fancybox({ 'width' : '80%', 'height' : '80%', 'type' : 'iframe', }); 

 link 1 

将所有’https://stackoverflow.com/questions/3054673/jquery-fancybox-target-specific-div-id-in-iframe/somepage.html’加载到iframe中,但是如何加载来自id为“target”的div的内容(例如)?

如果页面与您打开fancybox的页面位于同一个域上,则应该能够使用jQuery.ajax的dataFilter选项将返回的数据过滤到所需的目标ID。

 $('#link-whole').fancybox({ 'width': '80%', 'height': '80%', 'type': 'ajax', 'ajax': { dataFilter: function(data) { return $(data).find('#yourTargetID')[0]; } } }); 

如果find方法不适合您,请尝试filter dataFilter对象内的行。

  return $(data).filter('#yourTargetID')[0]; 

您可以使用beforeShow定位页面的特定部分

  function opendialog(mypage) { var linktoopen=mypage ; $.fancybox({ 'autoScale': false, 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'speedIn': 500, 'speedOut': 300, 'width' : 800, 'height' : 410, 'autoDimensions': false, 'centerOnScroll': true, 'scrolling' : 'no', 'type' : 'iframe', 'href' : linktoopen, beforeShow: function(){ $(".fancybox-iframe").css({ margin : "-380px 0 0", height:"790px" }); } }); }