JQuery XML дубликат добавить - PullRequest
0 голосов
/ 30 мая 2011

Я новичок в XML.Когда я пытаюсь вставить некоторые «случаи» в его XML-родитель (называемый ITEM), он заполняет все ITEMS и дублирует некоторые.У меня есть 6 случаев, но как-то это показывает 12 в одном из пунктов.

У меня есть XML-файл, который выглядит следующим образом:

<menu>
<item>
    <headline />
    <body />
    <cases>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
    </cases>
</item>
<item>
    <headline />
    <body />
</item>

НаПУНКТ, в котором нет никаких случаев, я не хочу показывать какие-либо случаи.Я только хочу, чтобы дела были «помещены» в правильный ПУНКТ.

Как мне это сделать?

Для отображения предметов я использую:

$(xml).find('item').each(function(){
    var headline = $("headline", this).text();
    $("ul").append("<li class='" + name + "'><h3>" + headline + "</h3>");

    if ($(xml).find('case').length != 0) {
        //I want it to place this, in the correct ITEM, and not in all items.
        $("ul li").append("<ul class='cases'>");
        $(xml).find('case').each(function(){
            caseLink = $("link", this).text();
            $("ul li .cases").append("<li><a href='" + caseLink + "' /></a></li>");

        });
        $("ul li").append("</ul>");
    }
    $("ul").append("</li>");
});

Что я делаю не так ???

Заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 06 июня 2011

Проблема заключалась в том, что я дважды вызывал (XML).

Во второй (и следующий) раз вызывается «if (XML)», вместо этого используйте «(this)».

Изменение:

if ($(xml).find

Кому:

if ($(this).find

Это сделало это для меня.

0 голосов
/ 30 мая 2011

строка:

if ($(xml).find('case').length != 0) {
[...]
$(xml).find('case').each(function(){

должно быть

if ((this).find('case').length != 0) {
[...]
(this).find('case').each(function(){

или что-то подобное (я не проверял).

Прямо сейчас вы ищите внутри xml , цикл в элементе item , а затем ищите элемент case ... в xml вместо текущего элемента элемента .

...