JQuery

2011-12-20 8 views
6
ile

arasındaki Vikipedi infobox içeriğini alma Şirket ayrıntılarını içeren Wikipedia bilgi kutusunun içeriğini geri çekmek için JQuery'yi kullanmayı düşünüyorum.JQuery

Ben neredeyse bitiriyorum ama sadece

var searchTerm="toyota"; 
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; 
$.getJSON(url,function(data){ 
    wikiHTML = data.parse.text["*"]; 
    $wikiDOM = $(wikiHTML); 
    $("#result").append($wikiDOM.find('.infobox').html()); 
}); 

ilk bölümü işleyişini son adımı alamayan düşünüyorum - wikiHTML Vikipedi API tarafından çözümlenen sayfasının içeriğini içerir

<table class="infobox vcard" cellspacing="5" style="width:22em;"> 

sonuç

01 veri koymak için sadece boş bir tablo tutucudur: HTML biçiminde

Bu bilgi kutusu içerikli tablo içeren

Bu sayfadan diğer bazı öğelerle çalışır - örneğin, .logo için swapping .infobox mükemmel çalışır.

fazla bilgi vermek üzere Mutlu, ama bu konuda saatlerce ve artık uygun olanı bile emin değilim o kadar çok permütasyon denedim ...

TIA

+1

Sorun/beklenen sonuç tam olarak nedir? – Bergi

cevap

5

O Wikipedia'nın JSON doesn görünüyor Bir kaydırma belgesi öğesini geri döndürme. Bu, kökte bulunan öğeler üzerinde herhangi bir özniteliğin seçilebilir olmasını engelliyor gibi görünüyor. Bunu deneyin:

var searchTerm="toyota"; 
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; 
$.getJSON(url,function(data){ 
    wikiHTML = data.parse.text["*"]; 
    $wikiDOM = $("<document>"+wikiHTML+"</document>"); 
    $("#result").append($wikiDOM.find('.infobox').html()); 
}); 

Bunun işe yaradığını umarız!

+0

Teşekkür ederim - bu mükemmel çalışıyor. Bunu hiç düşünmemiştim, –

+0

Ter yok, sizin için çalıştığını duyduğuma sevindim! –