You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中获取页面所有链接并排除指定内容链接?

解决方法

你只需要在收集链接前加个判断条件,过滤掉包含指定关键词的链接就行,给你两种实现方式:

方式一:修改原有循环代码

直接在你的代码里添加判断逻辑,跳过包含"google"的链接:

var array = [];
var links = document.getElementsByTagName("a");
for(var i=0, max=links.length; i<max; i++) {
    // 排除包含"google"的链接
    if (!links[i].href.includes("google")) {
        array.push(links[i].href);
    }
};
console.table(array);

如果需要忽略大小写(比如同时排除"Google"、"GOOGLE"),可以把链接转成小写再判断:

var array = [];
var links = document.getElementsByTagName("a");
for(var i=0, max=links.length; i<max; i++) {
    var href = links[i].href.toLowerCase();
    if (!href.includes("google")) {
        array.push(links[i].href);
    }
};
console.table(array);

方式二:用更简洁的现代JS写法

如果你想尝试更简洁的代码,可以用querySelectorAll结合数组的filter和map方法:

// 把所有a标签转成数组,提取href后过滤掉含"google"的链接
const filteredLinks = Array.from(document.querySelectorAll('a'))
    .map(link => link.href)
    .filter(href => !href.includes('google'));

console.table(filteredLinks);

补充说明

  • includes('关键词')用来检查字符串里是否包含指定内容,返回布尔值,前面加!表示取反(即不包含的才保留)
  • 如果需要兼容非常旧的浏览器,可以把includes换成indexOf('google') === -1,逻辑是一样的:当字符串不包含指定内容时,indexOf会返回-1

内容的提问来源于stack exchange,提问作者erniberni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:52:00