2014-02-25 15 views
8

Ich bekomme einige Daten zurück mit Ajax und ich möchte es als das vorletzte Kind einer div einfügen., Frage ist, wie füge ich einige HTML in ein div vor dem letzten Element, dass divjquery einfügen BEFORE letztes Element in div

$.ajax({ 
     url: '@Url.Action("...", "..")', 
     traditional: true, 
     data: { coordinates: coordinates, selectedTypeIDs: selectedTypeIDs, pageNumber: pageNumber }, 
     type: 'POST', 
     success: function (data) { 


      $('#listings').insertBefore(".last-child", data); 
      hideProgress(); 
     }, 
     error: function (xhr, textStatus, errorThrown) { 
      showErrorMessage("Something whacky happened", errorThrown); 

     } 

Hier ist meine div und darin ein Kommentar, wo ich zeigen möchte, um es

<div id="listings"> 
    <!--bunch of divs--> 
    <div>something</div> 
    <!--INSERT DATA HERE--> 
    <div class="black_box2" id="showMoreBar"></div> 
</div> 

ich entweder den Klassennamen black_box2 oder noch besser nutzen könnten, i die ID zum letzten div zugewiesen, oder was immer schnellen Art und Weise davon würde #listings vor .last-child (kein zweiter Paramter für insert Theres) tut

+0

Sie müssen angeben, was genau Ihre Frage ist - also die Schwierigkeit, die Sie haben. So wie es aussieht, scheint dies mehr eine Frage als eine tatsächliche Frage zu sein. – Boaz

Antwort

14

$('#listings').insertBefore(".last-child", data); setzen.

Was Sie wollen, ist:

$("#showMoreBear").before(data); // put data before #showMoreBear 

Oder

$(data).insertBefore('.last-child'); // put data before .last-child 

.before(content) ordnet den Inhalt vor dem ausgewählten Element.

.insertBefore(target) platziert das ausgewählte Element vor dem Ziel.

+0

das ist was ich gesucht habe, danke, ich muss 5 min warten, bevor ich die antwort .... – Zoinky

Verwandte Themen