私のプロジェクトにWikipedia APIを使用しています。引用符を表示するためにボタンをクリックすると、私のコードは特定の著者に関連するulにwikipediaの記事を動的に追加します。しかし、私がボタンをクリックすると、他の作者の新しいliがulに追加されたので、古い記事(li)は削除されません。 ulに追加する前にforループにコードを入れようとしましたが、ボタンをクリックすると、すべてではなく1つの記事だけが追加されます。ボタンをクリックする前に、前に追加されたリスト項目を削除します。
私のコードは次のとおりです。
var getWikiAuthorBio = function(author) {
var url = 'http://en.wikipedia.org/w/api.php?action=opensearch&search=' + author + '&format=json&callback=wikiCalback'
//////////////
//Wiki request
/////////////
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(wikiArticlesShortInfo);
for (var i=0; i < wikiArcticles.length; i++) {
console.log("Each article " + wikiArcticles[i]);
domCache.$wikiArticlesList.append('<li class="articleItem">'+ wikiArcticles[i]+ '</li>');
}
// Short biography
console.log(bioName);
console.log(wikiArcticles);
console.log(url);
domCache.$bioDiv.text(bioName);
} // end of success
});
}// wikirequest
wikirequest();
}
非常に参考になりました。 – NZMAI