2011-10-13 11 views
5

Sto provando a caricare il contenuto da un altro div di pagina in un altro div di pagina.Come caricare testo normale in div da un'altra pagina

quello che ho:

JQuery:

$('#news_date-1').load('test.php .news_date-1'); 

Test.php

<div class="news_date-1">20-11-2009</div> 

Destination.html

<div id="news_date-1"></div> 

Il risultato che ottengo =

<div id="news_date-1"><div class="news_date-1">20-11-2009</div></div> 

il risultato che voglio =

<div id="news_date-1">20-11-2009</div> 

Qualcuno può dare una mano?

risposta

3

Si può provare a chiamare unwrap() su di esso nella callback.

$('#news_date-1').load('test.php .news_date-1', function() { 
    $(this) //will refer to #news_date-1 
     .find('.news_date-1') //find the inserted div inside 
     .contents() //find all its contents 
     .unwrap(); //unwrap the contents, thus removing the unneeded div 
}); 

Questa non è la soluzione più bella, perché .load() inserisce già in DOM, e poi si manomettere il DOM di nuovo, che dovrebbe essere ridotto al minimo.

Un altro modo di vedere è usare $.get() invece:

$.get('test.php', function(receivedHtml) { 
    //getting only the parts we need 
    var neededHtml = $(receivedHtml).find('.news_date-1').html(); 
    //adding it to DOM 
    $('#news_date-1').append(neededHtml); 
}); 
0

Prova questo:

$.get('test.php', function(data) { 
    $('#news_date-1').append($(data).find('.news_date-1')); 
}); 
+0

non fa differenza – ronni

Problemi correlati