使用 JavaScript 给外链添加特殊的样式
我们都知道链接分为外链、内链,维基百科对这个处理的很好,外链会显示一个小图标,告诉浏览者这个链接会跳出本站,这篇文章介绍使用 JavaScript 给外链添加特殊的样式。
单纯的用 CSS 有弊端:
- 只支持 FireFox 等对 Web 标准支持很好的浏览器。
- 只能判断链接,不能判断锚点或 JavaScript 事件。如遇到
<a href="javascript:void(0);"></a>
就无能为力了。
这里可以结合 JavaScript 来完成,首先写一个样式:
a.other:link,a.other:visited,a.other:active{
background:url("external.gif") no-repeat top right;
padding-right:15px;
display:inline-block;
}
再写一个 JavaScript,但 JavaScript 要考虑到:
- 链接的多样性,如上面提到的 JavaScript 、锚点等。
- 如果是图片链接,就不要应用样式了。
window.onload = function(){
var aList = document.getElementsByTagName('a');
var iCount = aList.length;
for(var i = 0;i<iCount;i++){
if(!chkMyLink(aList[i].href,aList[i].innerHTML)) {
aList[i].className ='other';
}
}
}
s
是链接的 url
,innerhtml
是链接文本
function chkMyLink(s,innerhtml){
if(innerhtml.replace(/^\s*/,"").match(/^\<img/gi))
return true;
var reg = /^http\:\/\//gi;
if(s.match(reg)){
reg = /^http\:\/\/www.wenjiangs.com/gi;
if(s.match(reg)){
return true;
}else{
return false;
}
}
return true;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论