我想使用 jQuery 获取页面,然后从响应中提取值,特别是我想访问所有 href
a
的属性具有特定 class
的标签。
该页面位于同一域中,因此不存在跨源问题。特定页面返回一个 HTML 页面,但如果无论内容类型如何它都可以工作,那就太好了。
到目前为止我所拥有的:
// the page to fetch (index2.html).
<html>
<a href="/example" class="getthis">click</a>
<a href="/example2" class="getthis">click2</a>
</html>
在此页面上,这段 JS 代码运行良好:
$('.getthis').each(function(){
alert($(this).attr('href'));
})
我现在尝试的是这样的:
$.get('/index2.html', function(data){
$(data).find('.getthis').each(function(){
alert($(this).attr('href'));
})
});
获取页面工作正常,但提取数据不起作用。我对这个想法尝试了很多变体,但似乎都不起作用。
如何使用 jQuery 获取 HTML 页面,然后处理响应的 DOM,例如提取具有特定类的所有元素?
我使用的是 jQuery 3.3.1,但如果解决方案适用于所有版本,那就太好了。
最佳答案
通过$.parseHTML()将数据从ajax解析到DOM节点。 并通过 .filter()
查找元素$.get('/index2.html', function(data){
data = $.parseHTML(data);
$(data).filter('.getthis').each(function(){
alert($(this).attr('href'));
})
});
关于javascript - 使用 jQuery 获取页面并提取特定类的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55178185/