Подтвердить что ты не робот

Как получить html div на другой странице с помощью jQuery ajax?

Я использую jQuery ajax-код для загрузки новых страниц, но хотел, чтобы он получил только html div.

Мои коды: HTML:

<body>
    <div id="content"></div>
</body>

Script:

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

Я хотел, чтобы он получал только один html $('div # content') на другой странице. Как это сделать?

4b9b3361

Ответ 1

Хорошо, вы должны "сконструировать" html и найти div.content.

вот так:

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

Simple!

Ответ 2

Вы можете использовать метод JQuery.load():

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

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

Ответ 3

Если вы ищете контент из разных доменов, это сделает трюк:

$.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());
        }
});

Ответ 4

Вы действительно не можете этого сделать, запрос ajax получает весь файл, но вы можете отфильтровать содержимое после его получения:

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

Обратите внимание на использование фиктивного элемента, поскольку find() работает только с потомками и не будет находить корневые элементы.

или пусть jQuery фильтрует его для вас:

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

Я предполагаю, что это не запрос перекрестного домена, поскольку это не сработает, только страницы в одном домене.

Ответ 5

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

Этот консольный журнал получает массив вроде объекта: [meta, title,], очень странно

Вы можете использовать JavaScript:

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