2012-04-05 6 views
1

Wie durchlaufe ich eine Klonliste mit jquery?Wie man eine Klonliste mit Hilfe von jquery durchläuft

 <ul id=testList> 
      <li><p> Test A </p></li> 
      <li><p> Test B </p></li> 
      <li><p> Test C </p></li> 
      <li><p> Test D </p></li> 
      <li><p> Test E </p></li> 
    </ul> 

jquery Code ...

  var $cloneList = $("#testList").clone(); 

     $cloneList.each(function() 
     { 
       alert($(this).html()); 
     }); 

Das Problem ist, die Ausgabe der Warnmethode zeigt den Inhalt der Liste:

   <p> Test A </p> 

Was ich brauche die Anzeige der ist ul Liste wie diese

  <li><p> Test A </p></li> 
+0

funktioniert für mich hmmm –

Antwort

0

Nun, was Sie versuchen zu iterieren ist eine Liste von li-Elementen. Jedes davon enthält einige html ("<p>text</p> „)

Der schnellste Weg ist Outerhtml zu verwenden angesichts dem Szenario, das Sie beschrieben.

$cloneList.find('li').each(function(){ 
alert(this.outerHTML); 
}); 

Allerdings ist es ratsam sein könnte, einen größeren Umfang des Problems, da es posten scheint, dass das Ergebnis von .clone() nicht genau das ist, mit dem Sie arbeiten möchten.

+0

Ich sende die Klonliste durch einen Ajax-Aufruf an den Server. –

0

Es gibt keinen direkten Weg, um ein Element zusammen mit seinem eigenen Tag in jQuery zu drucken, was Sie tun können, ist zu intermediär ein Element in einem div zu wickeln und die Innerhtml davon drucken:

$clonseList.each(function() { 
    alert(this.outerHTML || $('<div />').append($(this).clone()).html()); 
}); 

Die oben nicht ändert die DOM, da wir niemals das Extra <div> an das Dokument anhängen.

Verwandte Themen