2016-08-03 4 views
0

Я использую API Википедии в своем проекте и хочу связать каждый предмет (статья в Википедии) с соответствующей информацией о статье (также из Википедии). Например, Конфуций Шуолд связан с биографией Конфуция, Университетом Конфуция, с соответствующей информацией об университете и так далее. Когда я прохожу через него, это приводит к беспорядку. Например, enter image description hereСвязать каждую статью с соответствующей информацией

Из рисунка видно, что заголовки (Конфуций) не имеют отношения к тексту ниже в красном. Я знаю, что проблема с циклом, и я пробовал разные методы, но терпел неудачу. Пожалуйста, помогите мне!

var wikirequest = function() { 
    $.ajax({ 
     url:url, 
     dataType: 'jsonp', 
     success: function(wikiData) { 

     // Fetch the biographical information 
     var bioName = wikiData[2][0]; 

     // Check if instead of bio there is a phrase "The article may refer to...." if so then change indices 
     if (bioName.indexOf('may refer to') >= 0) { 
      bioName = wikiData[2][1]; 
     } else { 
      var bioName = wikiData[2][0]; 
     } 

     var wikiArcticles = wikiData[1]; 
     var wikiArticlesShortInfo = wikiData[2] 

     console.log("This is short info "+ wikiArticlesShortInfo); 

     //domCache.$wikiArticlesList.empty(); 
     domCache.$wikiArticlesList.html(''); 

     for (var i=0; i < wikiArcticles.length; i++) { 
      for (var j=0; j <wikiArticlesShortInfo.length; j++) { 
      console.log("Each short story " + wikiArticlesShortInfo[j]); 
      console.log("Each article " + wikiArcticles[i]); 
      domCache.$wikiArticlesList.append('<li class="articleItem">'+ wikiArcticles[i]+ '<br>'+ '<span class="shortInfo">'+           wikiArticlesShortInfo[j]+'</span>'+ '</li>'); 
      } 
     } 

     // Short biography 
     console.log(bioName); 
     console.log(wikiArcticles); 
     console.log(url); 

     domCache.$bioDiv.text(bioName); 

     } // end of success 
    }); 
    }// wikirequest 

    wikirequest(); 

My project in CodePen

ответ

0
for (var j=0; j < wikiData.length; j++) { 
     var articleAuthor = wikiData[1][j]; 
     var articleInfo = wikiData[2][j]; 
     var linkAuthor = wikiData[3][j]; 

     domCache.$wikiArticlesList.append('<li class="articleItem">'+ '<span>' + '<a href =' + linkAuthor + ' target="_blank" >' + articleAuthor + '</a>' + '</span>' +'<span class="shortInfo">' + articleInfo +'</span>' + '</li>'); 

     // Check if some articles are undefined if so hide them 
     if (articleAuthor === "undefined") { 
      $('.articleItem').html(''); 
     } 

     //console.log(j + " " + articleAuthor); 
     //console.log(j + " " + articleInfo); 
     //console.log(j + " " + linkAuthor); 
    } 
Смежные вопросы