0

AJAX を使用して別のページから div をロードしようとしていますが、ページ全体が div にロードされているようです。特定のdivをロードしたいだけです。

$('.overlay').on('click', function() {
    var page_url = $(this).attr('href');

    $.ajax({
        url: page_url + ' #single_portfolio',
        dataType: 'html',
        success: function(data) {
            $('#overlay').html(data);
        }
    });

    return false;
});

私が間違っていることを教えてください。

4

4 に答える 4

2

FIDDLE

あなたはそれを行うことができます.load()

$('#overlay').load(page_url + ' #single_portfolio');

使用する必要がある場合は、$.ajax()これを試してください:

$.ajax({
    url: page_url,
    dataType: 'html',
    success: function(data) {
        $('#overlay').html($(data).children('#single_portfolio'));
        //or $(data).filter('#single_portfolio')
    }
});
于 2013-08-20T17:19:59.723 に答える
1

試しているように、AJAX を介してリモート ドキュメントで CSS セレクターを使用することはできません。#single_portfolioURLの後の はhash(前のスペースなしで) として機能します。AJAX 呼び出しに必要なものを正確に返す URL が必要です。または、ページ全体をフェッチし、コールバック関数で何らかの処理を行って目的の部分を抽出することもできます。

于 2013-08-20T17:18:52.827 に答える
0

通話$('#overlay').load(page_url + ' #container');の代わりに使用できます$.ajax()

http://api.jquery.com/load/を参照してください。

于 2013-08-20T17:19:08.983 に答える