Ich habe eine Liste von Zitaten in einem XML-Dokument. Jedes Zitat wird wie folgt umbrochen:
<Item>
<Quote>This is a quote!</Quote>
<Source>-- this is the Source of the Quote!</Source>
</Item>
Hier ist die jQuery:
var html = '';
var tmpl = '<li class=""><p class="quote">__quote</p><p class="source">__source</p></li>';
$(quoteObj).find('Item').each(function(){
$that = $(this);
var _quote = $that.children('Quote').text();
var _source = $that.children('Source').text();
var qhtml = tmpl.replace('__quote', _quote).replace('__source', _source);
html += qhtml;
});
return html;
Im Endprodukt wird die QUOTES
sind alle vorhanden, aber die SOURCES
sind es nicht. Ich kann mir beim besten Willen nicht erklären, warum. Was ist direkt vor mir, das ich nicht sehen kann?
ZUSÄTZLICHE INFORMATIONEN, UM KOMMENTARE ZU BEANTWORTEN:
- Die XML-Datei ist richtig geformt, und ich habe sie oben geändert.
- Ich habe die
var tmpl
Zeile, um zu zeigen, was ich in der Schleife ersetze. Die__quote
wird ersetzt, und die__source
wird zumindest gehandelt, da die zweite<p>
leer ist, anstatt eine Zeichenkette zu enthalten. - Ich habe das tatsächliche XML, das vom AJAX-Aufruf zurückkommt, überprüft, und es ist alles da, wie es sein sollte.
Ich habe den Eindruck, dass es sich hier um eine Art Problem mit dem Scoping und this
oder mit der Aktion der .children()
Methode, aber ich kann sie immer noch nicht finden.
EINE LETZTE ANMERKUNG:
Die Groß- und Kleinschreibung des XML-Tags wurde in Initial Caps geändert, was im betreffenden Dokument der Fall ist.