问题与$()。加载

时间:2011-07-04 22:21:27

标签: jquery

当用户点击代码时,我需要从外部页面加载内容:

$('#anchortag').click(function() {
    event.preventDefault();
    $('#recepient').hide();
    $('#recepient').load('otherpage.php', function(data) {
        $.fancybox(data, {});
    });
});

我正在使用jQuery load()方法来执行此操作,但我想要的只是用外部内容打开的fancybox,而现在,内容显示在#recepient和fancybox中。如果我尝试这样做:$.load(没有指定目标),它就会失败(fancybox没有出现,我想这个函数不起作用..)。

如何只使用load或其他jquery函数打开fancybox中的外部内容?

编辑: 为什么这个脚本只适用于Chrome而不是FF或IE?

2 个答案:

答案 0 :(得分:2)

请改用$.get(..)load(..)将内容作为目标对象的innerHTML,并且您不希望这样。

答案 1 :(得分:0)

我假设fancybox在某个地方有一个带有html的地方,如果是这样你可以做类似的事情......

$('#anchortag').click(function() {
    event.preventDefault();
    $('#recepient').hide().empty();
    $.ajax({
        url:'path/to/html',
        success:function(data){
            $('#recepient').html(data);
            /* fire fancy box here ...*/
        },
        error:function(){
            alert('an error occurred')
        }
    });
});

    <div id="recepient" style="display:none"></div>

未经测试...... 我在本机Jquery对话框中做了类似的事情。