用javascript 转换外部链接样式

作者:幻想曲 来源:蓝色理想 时间:2007-09-17 10:48:00 

用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[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>


现在可以看到效果了。


标签:外部链接,链接,javascript
0
投稿

猜你喜欢

  • DW CS4初步试用感受

    2008-05-30 12:17:00
  • 2011年网页设计发展趋势

    2011-01-10 20:45:00
  • Google的产品设计指导思想

    2008-03-23 14:15:00
  • asp如何创建Word 文件?

    2009-11-14 20:47:00
  • 关于ASP eof与bof 区别分析

    2011-03-11 11:14:00
  • 大写锁定提醒

    2009-06-11 13:12:00
  • asp的access数据库备份 压缩 恢复及清理数据库函数

    2008-10-31 12:36:00
  • CSS编写过程中常见的10个错误

    2008-05-29 12:49:00
  • 有效防止ASP木马上传运行—小知识[网络安全技术]

    2011-03-06 11:15:00
  • Http头 Range、Content-Range

    2010-06-25 19:19:00
  • asp截取字符串的两种应用

    2009-08-19 17:11:00
  • 浅谈MySQL存储引擎选择 InnoDB还是MyISAM

    2009-05-10 20:02:00
  • 监测站点使用多少session和application的asp程序

    2007-09-12 19:40:00
  • 形式追随内容?

    2010-03-07 15:55:00
  • ASP程序与SQL存储过程结合使用详解

    2011-03-25 10:50:00
  • CSS教程:轻松解决表格的nobr问题

    2008-10-29 11:55:00
  • 蜕变——记QQ医生3.0

    2009-09-16 14:41:00
  • ACCESS数据库转换MYSQL数据库的软件

    2007-09-20 20:06:00
  • XML教程:什么是XML及XML和HTML的区别

    2008-09-05 17:21:00
  • 品牌的统一体验

    2010-05-19 13:08:00
  • asp之家 网络编程 m.aspxhome.com