用javascript 转换外部链接样式

作者相关:
http://www.lemongtree.com
 
用css属性选择器可以有选择性地对链接样式进行控制,如让所有的外部链接都加一个小图标来标识其是一外部链接。 
但用css有弊端:
1、只支持FireFox等对web标准支持很好的浏览器。
2、只能判断链接,不能判断锚点或javascript。如遇到<a href="javascript:void(0);">就无能为力了。 
这里可以结合js来完成,首先写一个样式:
a.other:link,a.other:visited,a.other:active
  {
    background:url("external.gif") no-repeat top right;
    padding-right:15px;
  } 
再写一个js,但js要考虑到链接的多样性,如上面提到的javascript、锚点等。 如果是图片链接,就不要应用样式了。 
<script type="text/javascript">
    window.onload = function()
    {
      var aList = document.getElementsByTagName('a');
      var iCount = aList.length;
      for(var i = 0;i<iCount;i  )
      {
     
        if(!chkMyLink(aList.href,aList.innerHTML))
        {
          aList.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.lemongtree.com/gi;
          if(s.match(reg))
          {
            return true;
          }
          else
          {
            return false;
          }
      }
      return true;
    }
  </script>
现在可以看到效果了。

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [javascript] 的这些文章也感兴趣:

从外部的js文件中获取ASPX页面的控件ClientID
Javascript实例教程(19) 使用HoTMetal(6)
JavaScript实现图片切换效果(适用于IE浏览器)
JavaScript中this关键字使用方法详解
Javascript实例教程(12) 鼠标移过时报警
JS CSS打造可拖动的聊天窗口层
在JavaScript中实现命名空间
js的数据类型和变量
createTextRange用法
JavaScript模拟ACDSEE简单功能