9

次のスクリプトを使用して、Wordpressの投稿をいくつか読み込んでいます。残念ながら、これは私のコンテンツに置き換わるものであり、既存のコンテンツに追加したいと思います。

AJAX呼び出しを使用して追加することについてのあなたの提案は何ですか。

$('#load-posts a').click(function() { 
    if(pageNum <= max) {
        $('#content').load(nextLink + ' article',
            function() {            
                // Update page number and nextLink.
                // Update the button message.                   
                }
            }
        );          
    }
});

ありがとう

4

6 に答える 6

18

load()コンテンツを置き換えますが、基本的には$ .getのショートカットにすぎないため、代わりにそれを使用してください。

$('#load-posts a').click(function() { 
    if(pageNum <= max) {
        $.get(nextLink + ' article', function(data) {   
           $('#content').append(data);
        });
    }
});

load()を使用して特定の要素をフィルタリングする場合は、自分で行う必要があります。

于 2012-05-17T19:09:26.083 に答える
11

loadは、親のコンテンツを置き換えます。これを行う1つの方法は、コンテンツを新しいdivにロードし、それを要素に追加することです。

$("<div>").load(nextLink + ' article', function() {
    $("#content").append($(this).html());
});
于 2012-05-17T19:09:14.183 に答える
2

getJsonメソッドを使用して、3つの部分があるJSON応答を取得します。1つはコンテンツ用、もう1つはNextLink用、3つ目はPateNumber用です。次に、Json Resultを読み取り、関連する場所で使用します。

このようなJSONを返すことができます

{
    "Content": "<p>Some New Content</p>",
    "NextLink": "page.php?no=34",
    "PageNumber": "34"
}

そしてあなたの中getJSONで、あなたはアイテムを読んでそれを使うことができます

$('#load-posts a').click(function() { 
   if(pageNum <= max) {
      $.getJSON(nextLink,function(jSonResult){         
          $('#content').append(jSonResult.Content);
          $("#nextLink").html(jSonResult.NextLink);
          $("#pageNumber").html(jSonResult.PageNumber);
      });           
   }
});
于 2012-05-17T19:11:23.467 に答える
1
if(pageNum <= max) {
        $('body').append($('<div id="hiddenContainer" style="display:none"></div>')); // a hidden container to store response
        $('#hiddenContainer').load(nextLink + ' article',
            function() {            
                $('#content').append($('#hiddenContainer').html());                 
                }
            }
        );          
    }
于 2012-05-17T19:09:27.267 に答える
1

個人的には$.get()を使用します

$('#load-posts a').click(function() { 
    if(pageNum <= max) {
        var nextArticles = $.get(nextLink + ' article')

        nextArticles.success(function() {
            // Update page number and nextLink.
            // Update the button message. 
        };
    }
});
于 2012-05-17T19:17:37.080 に答える
1

その音から、以下のhtmlのような既存のdivに新しい投稿情報を含むdivを追加したいだけです。

<div id="Posts">
  <!-- post -->
  <!-- post -->  
  <!-- post -->  
</div>

あなたは簡単に行うことができます:

jQuery('#Posts').append(jQuery('<div>').load(...));
于 2013-04-08T19:00:50.403 に答える