1

誰かの助けを借りて、JSON コンテンツをページにロードするスクリプトを作成しました。問題は、コンテンツが 1 回だけではなく、何度も読み込まれることです。これは、main.js というファイルのページの先頭に含まれている jquery 関数です。

    function bakVorm(page,targetClass)
     {
     $.getJSON('http://shop.com/'+page+'/?format=json', function(data){
      var text = ''
      $.each(data.textpage, function(index, text){
      $(text).html('' + text + '').appendTo(targetClass);
});
});

製品ページで、次のコードを使用してコンテンツを div にロードしようとしました:

$(function(){
bakVorm('vraag','.eigenschappen');
bakVorm('test','.verzendkosten');
});

問題は、コンテンツが対応する div に何度も読み込まれることです。おそらくスクリプトが停止していないか何かです。

どんな助けでも大歓迎です

4

2 に答える 2

2

この行で

$(text).html('' + text + '').appendTo(targetClass);

テキストのコンテンツをテキストの各トップレベルノードに追加しているので、テキストが

 <div></div><p></p>

あなたは

<div><div></div><p></p></div><p><div></div><p></p></p>

したがって、html部分を省略して、

$(text).appendTo(targetClass);
于 2012-05-28T18:07:29.123 に答える
0

コードで targetClass を空にしてみてください。

function bakVorm(page,targetClass)
 {
 $.getJSON('http://shop.com/'+page+'/?format=json', function(data){
  var text = ''
  $.each(data.textpage, function(index, text){
  $(targetClass).empty().append(text);
  });
});

または使用しないでくださいappend

function bakVorm(page,targetClass)
 {
 $.getJSON('http://shop.com/'+page+'/?format=json', function(data){
  var text = ''
  $.each(data.textpage, function(index, text){
  $(targetClass).html(text);
  });
});
于 2012-05-28T17:46:12.273 に答える