Comment obtenir le html d’une div sur une autre page avec jQuery ajax?

J’utilise le code ajax de jQuery pour charger de nouvelles pages, mais je voulais qu’il obtienne uniquement le code HTML d’une div.

Mes codes: HTML:

 

Scénario:

 $.ajax({ url:href, type:'GET', success: function(data){ $('#content').html(data); } }); 

Je voulais qu’il obtienne uniquement le code HTML de $ (‘div # content’) sur une autre page. Comment faire?

Ok, vous devriez “construire” le code HTML et trouver le fichier .content.

comme ça:

 $.ajax({ url:href, type:'GET', success: function(data){ $('#content').html($(data).find('#content').html()); } }); 

Simple!

Vous pouvez utiliser la méthode JQuery .load ():

http://api.jquery.com/load/

  $( "#content" ).load( "ajax/test.html div#content" ); 

Si vous recherchez du contenu provenant de domaines différents, le problème est résolu:

 $.ajax({ url:'http://www.corsproxy.com/' + 'en.wikipedia.org/wiki/Briarcliff_Manor,_New_York', type:'GET', success: function(data){ $('#content').html($(data).find('#firstHeading').html()); } }); 

Vous ne pouvez vraiment pas faire cela, une requête ajax récupère le fichier entier, mais vous pouvez filtrer le contenu une fois récupéré:

 $.ajax({ url:href, type:'GET', success: function(data) { var content = $('
').append(data).find('#content'); $('#content').html( content ); } });

Notez que l’utilisation d’un élément factice, car find() ne fonctionne qu’avec les descendants et ne trouve pas les éléments racines.

ou laissez jQuery le filtrer pour vous:

 $('#content').load(href + ' #IDofDivToFind'); 

Je suppose que ce n’est pas une requête interdomaine, car cela ne fonctionnera pas, uniquement des pages du même domaine.

 $.ajax({ url:href, type:'get', success: function(data){ console.log($(data)); } }); 

Ce journal de la console obtient un tableau comme object: [meta, title,,], très étrange

Vous pouvez utiliser JavaScript:

 var doc = document.documentElement.cloneNode() doc.innerHTML = data $content = $(doc.querySelector('#content'))