Ответ 1
Хорошо, вы должны "сконструировать" html и найти div.content.
вот так:
$.ajax({
url:href,
type:'GET',
success: function(data){
$('#content').html($(data).find('#content').html());
}
});
Simple!
Я использую 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') на другой странице. Как это сделать?
Хорошо, вы должны "сконструировать" html и найти div.content.
вот так:
$.ajax({
url:href,
type:'GET',
success: function(data){
$('#content').html($(data).find('#content').html());
}
});
Simple!
Вы можете использовать метод JQuery.load():
$( "#content" ).load( "ajax/test.html div#content" );
Если вы ищете контент из разных доменов, это сделает трюк:
$.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());
}
});
Вы действительно не можете этого сделать, запрос 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');
Я предполагаю, что это не запрос перекрестного домена, поскольку это не сработает, только страницы в одном домене.
$.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'))