使用jquery或javascript从html文件检索所有超链接
我需要使用jquery检索当前html页面中的所有超链接。如何使用正则表达式来实现这一点?我还可以使用javascript中的集合来存储列表中的所有HREF吗?使用jQuery使用jquery或javascript从html文件检索所有超链接,javascript,jquery,Javascript,Jquery,我需要使用jquery检索当前html页面中的所有超链接。如何使用正则表达式来实现这一点?我还可以使用javascript中的集合来存储列表中的所有HREF吗?使用jQuery$('a')将为您完成这项工作 遍历所有锚元素 var hrefArr = []; $('a').each(function(){ //hrefArr.push($(this).attr('href')); hrefArr.push(this.href); // this would be bit faster
$('a')
将为您完成这项工作
遍历所有锚元素
var hrefArr = [];
$('a').each(function(){
//hrefArr.push($(this).attr('href'));
hrefArr.push(this.href); // this would be bit faster then the statement above it
});
按OP编辑注释,在字符串中查找包含html的锚标记
str = "<div><a href='local1'></a><a href='local2'></a></div>"
var hrefArr = [];
$(str).filter('a').each(function(){
hrefArr.push(this.href);
});
str=“”
var hrefar=[];
$(str).filter('a')。每个(函数(){
hrefar.push(this.href);
});
所有的锚都很容易
$("a").each(function(){
alert( $(this).attr("href") );
})
您可以使用简单的每个循环:
// For each <a href=""> tag...
$('a').each(function(){
// Get the url
var href = $(this).attr('href')
// alert it or do sth with it
alert( href );
})
//对于每个标记。。。
$('a')。每个(函数(){
//获取url
var href=$(this.attr('href'))
//提醒它或用它做某事
警报(href);
})
这将为您提供页面上的所有超链接
$('a')
这将为您提供HPyerLink上的HREF集合
var hrefs = new Array();
$('a').each(function() {
hrefs.push(this.attr('href'));
});
如果“javascript中的集合”是指数组,则可以执行以下操作:
var hrefs = [];
$("a").each(function() {
hrefs.push(this.href);
});
// hrefs array now contains all the hrefs
在.each()
回调函数中此.href
可能会返回完整的url,如果您单击该链接,该url将随后返回,即href=“test.htm”
将作为http://yourdomain/test.htm
。如果只需要属性中的位,请使用$(this.attr(“href”)
您不会使用正则表达式进行这种类型的处理。尝试以下方法:
var link = "";
$("a").each(function() {
link += $(this).attr("href");
});
alert(link);
第二个示例将返回第一个锚标记的
href
属性,而不是集合。我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它吗?我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它吗?您可以将html字符串传递给什么?我对yql不是很熟悉,但如果你用的是yql,为什么不在问题中这样说呢?您要求提供jQuery解决方案。如果我们假设您的yql将html返回到字符串str
,那么您可以执行$(str).filter(“a”)。每个(…
我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它吗?我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它吗?替换$('a')与$(str).find('a')其中str包含文本可能希望使用.filter()
而不是.find()
,因为.find()
与字符串中的任何顶级元素都不匹配。(您的示例字符串当然可以与.find()
一起使用,因为您假定div是一个容器。)感谢@nnnnnn您的建议,改为filter。我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它吗?使用$(此处为html字符串)。查找('a')。每个(…
可能希望使用.filter()
而不是.find()
因为.find()
不会匹配任何顶级元素。我使用yql检索链接的html,但我需要从yql返回的结果中获取href。我可以将html字符串传递给它而不是this.href吗?我不确定将所有href连接在一起而不使用任何空格或逗号是否会有帮助。