我有一个jQuery函数,该函数针对页面上的每个锚定标记执行,需要检查acnhor标记应包含带有任何站点URL的herf属性。如果锚点标记不包含href标记或href标记,其值链接为空白,mailto,#,tel:1000等,则应返回false。
表示条件应检查锚标记应具有href标记,hreg标记应仅包含URL。
$('a').each(function() { //add a class to all external links
var $a = jQuery(this);
var domainURL = $a.get(0).href;
var hostToDetectAsExternal = domainURL.replace('http://','').replace('https://','').replace('www.','').split(/[/?#]/)[0];
if(domainURL != '' && domainURL.indexOf('javascript') == -1 && allwedHostsArray.indexOf(hostToDetectAsExternal) == -1) // -1 : Not found in a allowed hosts array & not found javacript in a URL
{
$a.addClass('external-link');
}
});
已经编写了此代码,但未满足所有条件。请任何人帮我。
答案 0 :(得分:1)
使用选择器字符串a[href^="http"]
选择a
属性以href
开头的http
(当然,这些属性也将包括以{{1 }})
https
如果您想包括所有个基于URL的$('a[href^="http"]').each(function() {
,而不仅仅是外部链接或绝对路径,则可以添加href
,以匹配{{1 }}和相对网址:
a[href^="/"]