如何使用jQuery ajax在另一个页面上获取div的html?

IT技术 javascript jquery html
2021-03-10 06:14:06

我正在使用 jQuery 的 ajax 代码加载新页面,但希望他只获取 div 的 html。

我的代码: HTML:

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

脚本:

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

我希望他在另一个页面上只获取 $('div#content') 的 html。怎么做?

5个回答

好的,您应该“构建”html 并找到 .content div。

像这样:

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

简单的!

不要这样做,这样做可能会导致脚本从其他页面运行 - 这是一个奇怪的问题,可能不会影响您,但我建议使用 .load 将删除脚本。var loadHolder = $('<div></div>'); loadHolder.load(href + ' #content', function(){ $('#content').loadHolder.find('#content').html()) })
2021-04-18 06:14:06
我试图做到这一点,我的HTML页面被提取同上,但$(data).find('#content')不过这$(data)[47].innerHTML确实。在正在获取的页面中有一个divwith id="content"任何线索?
2021-04-24 06:14:06
这可以用javascript完成fetch吗?
2021-04-30 06:14:06

您可以使用 JQuery .load() 方法:

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

 $( "#content" ).load( "ajax/test.html div#content" );
@fredsbend 您不能进行跨站点加载,因此您必须使用相对链接。您能做的最好的事情就是使用 JavaScript 书签。
2021-05-12 06:14:06
完美的!知道如何让它正确加载给定根链接/而不是相对../或绝对链接的图像http://example.com/吗?基本上,您如何才能将图像加载到另一个站点?
2021-05-13 06:14:06

如果您正在寻找来自不同域的内容,这将起作用:

$.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());
        }
});
嘿,是荆棘崖!!:D 我来自怀特普莱恩斯
2021-04-29 06:14:06
这样做可能会导致脚本从其他页面运行 - 这是一个可能不会影响您的奇怪问题,但我建议使用 .load
2021-05-03 06:14:06

不幸的是,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');

我假设这不是跨域请求,因为这不起作用,只有同一域上的页面。

几个小时以来,我一直在尝试做类似的事情,只是阅读了您的回复“注意使用虚拟元素,因为 find() 仅适用于后代,而不会找到根元素。” 极大地帮助了我。谢谢!
2021-04-16 06:14:06
$.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'))