首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 网络编程 > JavaScript > 正文
  • 用javascript 转换外部链接样式
      2007-9-20  来源:网络资源  编辑:Jsbulo  热度:

      用css属性选择器可以有选择性地对链接样式进行控制,如让所有的外部链接都加一个小图标来标识其是一外部链接。

      但用css有弊端:

      1、只支持FireFox等对web标准支持很好的浏览器。

      2、只能判断链接,不能判断锚点或javascript。如遇到就无能为力了。

      这里可以结合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[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.lemongtree.com/gi;
              if(s.match(reg))
              {
                return true;
              }
              else
              {
                return false;
              }
           }
          return true;
         }
      </script>