У меня есть список цитат в документе XML. Каждая котировка обернута так:Странная проблема XML jQuery
<Item>
<Quote>This is a quote!</Quote>
<Source>-- this is the Source of the Quote!</Source>
</Item>
Вот 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;
В конечном продукте, то QUOTES
все там, но SOURCES
нет. Почему я не могу понять, почему. Что прямо передо мной, что я не вижу?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ОТВЕТИТЬ КОММЕНТАРИИ:
- XML-правильно сформирован, и я изменил его выше.
- Я добавил строку
var tmpl
, чтобы показать, что я заменяю в цикле.__quote
заменяется, и по меньшей мере на него воздействует__source
, поскольку второй<p>
пуст, вместо того, чтобы содержать строку. - Я проверил фактический XML, возвращающийся из вызова AJAX, и он все там, как и должно быть.
Мне кажется, что это какое-то проблема с обзором и this
, или с действием методы .children()
, но я до сих пор не могу найти его.
последнее замечание:
Изменен случай XML тегов для Initial Caps, что он находится в рассматриваемом документе.
Не могли бы вы разместить фактический XML? Ваш образец не является корректным (что может быть ответом на ваш вопрос или может быть просто ярлыком, который вы сделали, чтобы показать нам что-то быстро). –
У вас есть значения в xml for Source. он должен быть проверкой прямого доступа, просто нажмите точку перерыва в firebut, вы можете легко проверить это. – kobe
@ hollenback, просто добавьте больше информации, проверьте, получаете ли вы результаты от бэкэнда через панель .net, если вы получаете результаты, затем добавляете точку останова в цикле и проверяете значения. – kobe