JSFiddle - React, Tailwind, and code Playground
HTML
<a class="dfn">尼可拉斯凱吉</a>
<hr />
<a class="dfn">成龍</a>
<hr />
<a class="dfn">山下智久</a>
<hr />
JavaScript
//<![CDATA[
// 剖析資料將,摘要取出
function getSummary(content){
content = content.replace(/\<img\ .*?\>|\<a\ .*?\>|<\/a\>/g, "");
var summary = "";
var elm = document.createElement("div");
elm.innerHTML = content;
for (var i=0; i<elm.childNodes.length; i++) {
var node = elm.childNodes[i];
if ((node.textContent || node.innerHTML || "").replace(/\s+/g, "") == "")
continue;
if (node.tagName == "P" || node.tagName == "UL" || node.tagName == "OL")
summary += "<"+node.tagName+">"+node.innerHTML+"</"+node.tagName+">";
if (node.tagName == "H1" || node.tagName == "H2")
break;
}
if (summary == "")
summary = "(沒有摘要)";
return summary;
}
// 送出查詢
function callWikipediaAPI( wikipediaPage ,returnObj) {
var queryResult = "暫無資料";
$.ajax({
url: 'http://zh.wikipedia.org/w/api.php?action=parse&format=json&callback=?',
dataType: 'json',
data: {
page: wikipediaPage,
prop:'text|images',
uselang:'zh'
},
success: function( data ) {
try {
var readData = $('<div>' + data.parse.text['*'] + '<\/div>');
}
catch(error) {
return;
}
var readData = $('<div>' + data.parse.text['*'] + '<\/div>');
// handle redirects
// 若遇到REDIRECT頁面則遞迴
var redirect = readData.find('li:contains("REDIRECT") a').text();
if( redirect != '' ) {
callWikipediaAPI( redirect , returnObj);
}else{
var box = readData.find('.infobox');
var imageURL = null;
// Check if page has images
// 檢查image存在否
...