2013-07-11 8 views
0

ниже мой код:XML узлы напечатаны дважды

function widget_itemAddCallback(carousel, first, last, xml) 
{ 
    jQuery('image', xml).each(function(i){ 
     document.write(jQuery('url',xml).text()) 
    }); 
... 
}; 

Это петля корыта в XML-файл я отправить функции. Файл XML является создать так:

<image> 
    <url>URL1 HERE</url> 
    <id>ID1 HERE</id> 
</image> 
<image> 
    <url>URL2 HERE</url> 
    <id>ID2 HERE</id> 
</image> 

теперь, когда я бегу корыто, что кусок кода, который я отвечал выше, URL, будут размещены в два раза каждый (4 адреса в общей сложности должно быть 2). Поэтому для каждого цикла через тег «image» он будет размещать все теги URL, которые он может найти в XML под узлом изображения. Кажется, я не могу найти, как убедиться, что он только печатает URL-адрес с текущего узла. Любая помощь по этому поводу будет оценена по достоинству!

Спасибо!

+0

ваша структура данных в порядке. просто оберните его в и он действителен ;-) –

ответ

0
jQuery('url',xml).text() 

выбирает все узлы URL-адреса, поэтому вы пишете все узлы URL-адреса для всех узлов изображения.

-1

jQuery('url',xml) выберет все url элементов в документе.

С вашего Перебор элементов изображения, вы хотите только url элемент текущего изображения, которое доступно через this:

jQuery(this).find('url').text(); 

DEMO

+0

Спасибо, ребята, я немного поработал, как сказал Феликс. Это то, что я придумал для извлечения URL-адреса текущего узла изображения i, был в: var url = $ (this) .children ('url'). Text(); Это даст мне URL-адрес текущего тега изображения! –

Смежные вопросы