gpt4 book ai didi

jQuery:选择所有内部链接,不包括可下载文件的链接

转载 作者:行者123 更新时间:2023-12-01 01:00:59 24 4
gpt4 key购买 nike

我正在使用以下 jQuery 代码来选择所有内部链接...

var siteURL = "http://" + top.location.host.toString();
var $internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']");

而且效果很好。我面临的唯一问题是我不想选择直接指向可下载文件的内部链接(例如 http://www.example.com/downloadable.pdf )

扩展名可以是任何内容(pdf、mp3、jpg、gif、webm ...等)

现在的问题是,如何从上述条件中排除此类内部链接?

或者,如果我使用 .not() 函数来排除此类链接,问题是,如何选择直接指向此类可下载文件的所有内部链接?

最佳答案

一个简单的解决方案是使用filternot与正则表达式来拒绝您不想要的链接:

var $internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']");

$internalLinks = $internalLinks.not(function () {
return $(this).attr('href').match(/\.(pdf|mp3|jpg|jpeg|etc)$/i);
});

相反,假设所有“不可下载”的网址都以 .html.htm 结尾,则会过滤链接带有这些扩展:

$internalLinks = $internalLinks.filter(function () {
return $(this).attr('href').match(/\.html?/);
});

关于jQuery:选择所有内部链接,不包括可下载文件的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com