javascript - 使用 jQuery 获取页面并提取特定类的所有链接

标签 javascript jquery html ajax

我想使用 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/

相关文章:

javascript - 如何使用html中的onclick属性从另一个网页调用一个网页的javascript函数?

javascript - 如何在 typescript 中获取 Date.timeIntervalSinceReferenceDate?

c# - 上传前验证文件大小 - IE8+

jquery - 在javascript函数中使用$.post,无法为变量赋值?

javascript - 如何一一统计jQuery中的localStorage值

javascript - 同时运行两个 jQuery 函数

jquery - 如何在 jquery 动画中停止字体闪烁和消失。

html - 当按钮在表单中使用时,是否需要为按钮声明类型 ="submit"?

javascript - Phonegap 中的多屏支持和适用于 android、iphone、windows blackberry 的图像大小

javascript - 验证表单 : Return false not possible/Always starts the action of the form