【问题标题】:Filter Alert Javascript, how to过滤警报 Javascript,如何
【发布时间】:2013-07-15 05:40:19
【问题描述】:

我前段时间看到了这段代码,我打算列出一个网站的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 之前添加一个 if,但没有任何效果,只显示一个空白警报 :(

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

【问题讨论】:

  • 你能用if 展示你的尝试吗?可能有一个易于修复的错误。
  • 你可能想使用某种if (l[i].href.indexOf("TEXT HERE")) {,但你应该展示你的尝试
  • 我的尝试是在 arr.push ...之前添加 if(/?day=20/?day=22/?day=25/) { ...
  • 伊恩,我试过这个:var arr = [], l = document.links; for(var i=0; i

标签: javascript filter alert


【解决方案1】:

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

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

这将为您提供在href 中包含day 的链接元素的NodeList。然后您可以像这样过滤以获取数组中的hrefs

var hrefs = Array.prototype.map.call(links, function(link){
  return link.href;
});

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 2022-10-01
  • 2022-01-03
  • 2019-01-02
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
相关资源
最近更新 更多