2010-11-19 23 views
1

Bir div uygulamasında .each yönteminden oluşturulan öğeleri sarmak istiyorum.jQuery Sarma Öğeleri Bir Divanda .Each Yöntemi Oluşturuldu

<script type="text/javascript"> 

$(document).ready(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "xml/timeline.xml", 
     dataType: "xml", 
     success: parseXML 
    }); 

    function parseXML(xml){ 

     $(xml).find("Year").each(function(){ 
      var year = $(this).attr("year"); 
    $(".timeLineWrapper").append('<h2 class="timeYearHead">' + year + "</h2>"); 
    $(this).find("Event").each(function(){ 
    var event = $(this).text();  
       $(".timeLineWrapper").append('<p>' + event + '</p>'); 
      }); // close find Event 
     }); // close find Year 
    } // close parseXML 
}); // Close docDotReady 

</script> 

temel fikir değişen sayılar olacak olan her yıl için olaylar, her yıl için ve bu listeye altında bir başlık oluşturmaktır:

İşte benim kod. Olayları XML dosyasından ayrıştırıldıktan sonra bir div içinde sarmak istiyorum. Bunu nasıl yaparım? İşte

<script type="text/javascript"> 

    $(document).ready(function(){ 
     $.ajax({ 
      type: "GET", 
      url: "xml/timeline.xml", 
      dataType: "xml", 
      success: parseXML 
     }); 

     function parseXML(xml){ 

      $(xml).find("Year").each(function(){ 
       var year = $(this).attr("year");    
       $(".timeLine").append('&lt;li class="timeYear"&gt;&lt;h2 class="timeYearHead"&gt;' + year + "&lt;/h2&gt;&lt;/li&gt;"); 
       $(this).find("Event").each(function(){ 
        var event = $(this).text();    
        $(".timeLine").append('&lt;li class="timeEvent"&gt;' + event + '&lt;/li&gt;'); 
       }); // close find Event 
      }); // close find Year 
     } // close parseXML 
    }); // Close docDotReady 

    </script> 

ürettiği HTML çıktısı var:

+1

Muhtemelen bariz bir şeyi kaçırıyorum, ancak bu ajax'ın sonucu olan bir html parçacığı gönderebilir misiniz? –

cevap

0

İşte benim şimdiki senaryo

<?xml version="1.0"?> 
<Years> 
    <Year year="1950"> 
     <Events> 
      <Event> 
       One 
      </Event> 
      <Event> 
       Two 
      </Event> 
      <Event> 
       Three 
      </Event> 
      <Event> 
       Four 
      </Event> 
     </Events> 
    </Year> 
    <Year year="1951"> 
     <Events> 
      <Event> 
       Five 
      </Event> 
      <Event> 
       Six 
      </Event> 
      <Event> 
       Seven 
      </Event> 
     </Events> 
    </Year> 
    <Year year="1952"> 
     <Events> 
      <Event> 
       Eight 
      </Event> 
      <Event> 
       Nine 
      </Event> 
      <Event> 
       Ten 
      </Event> 
      <Event> 
       Eleven 
      </Event> 
      <Event> 
       Twelve 
      </Event> 
     </Events> 
    </Year> 
</Years> 

Amacım: Temelde

<ul class="timeLine"> 
    <li class="timeYear"> 
     <h2 class="timeYearHead">1950</h2> 
    </li> 
    <li class="timeEvent"> 
     One 
    </li> 
    <li class="timeEvent"> 
     Two 
    </li> 
    <li class="timeEvent"> 
     Three 
    </li> 
    <li class="timeEvent"> 
     Four 
    </li> 
    <li class="timeYear"> 
     <h2 class="timeYearHead">1951</h2> 
    </li> 
    <li class="timeEvent"> 
     Five 
    </li> 
    <li class="timeEvent"> 
     Six 
    </li> 
    <li class="timeEvent"> 
     Seven 
    </li> 
    <li class="timeYear"> 
     <h2 class="timeYearHead">1952</h2> 
    </li> 
    <li class="timeEvent"> 
     Eight 
    </li> 
    <li class="timeEvent"> 
     Nine 
    </li> 
    <li class="timeEvent"> 
     Ten 
    </li> 
    <li class="timeEvent"> 
     Eleven 
    </li> 
    <li class="timeEvent"> 
     Twelve 
    </li> 
</ul> 

, bu XML dosyasını ayrıştırmak çalışıyorum ile ilgili her bir olay listesi için bir alt liste ile XML dosyasında her yıl için bir ile bir oluşturmaktır o yıl ve bu listede her olay için bir.

+0

Eğer bu soruyla ilgili bilgi ise, 'cevap' olarak değil, 'soru' bölümüne taşımalısınız. – cmcginty