2

我前段时间看到了这段代码,我打算列出一个网站的href,但现在我想过滤它

 var arr = [], l = document.links;
 for(var i=0; i<l.length; i++) {
   arr.push(l[i].href);
 }
 alert(arr);

我需要此代码来显示其中仅包含特定文本的链接

例如,仅在警报中显示包含在href....? 中的链接?

day=20, ?day=22, and ?day=25

我试图在.push 之前添加一个,但没有任何效果,只显示一个空白警报:(

最后一件事,如果在提醒的地方我希望它在每个链接的新标签中打开,有人可以给我方向或最简单的方法;)

4

1 回答 1

0

在现代浏览器中,您可以这样做:

var links = document.querySelectorAll('a[href*="day"]');

这将为您提供包含dayhref. 然后您可以像这样过滤以获取hrefs数组:

var hrefs = Array.prototype.map.call(links, function(link){
  return link.href;
});
于 2013-07-15T05:53:09.867 回答