WEB开发网
开发学院网页设计JavaScript 用javascript 转换外部链接样式 阅读

用javascript 转换外部链接样式

 2007-09-19 19:55:57 来源:WEB开发网   
核心提示:用CSS属性选择器可以有选择性地对链接样式进行控制,如让所有的外部链接都加一个小图标来标识其是一外部链接,用javascript 转换外部链接样式,但用css有弊端:1、只支持Firefox等对web标准支持很好的浏览器,2、只能判断链接, 如果是图片链接,就不要应用样式了,不能判断锚点或javascript,如遇到就

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

  现在可以看到效果了。

Tags:javascript 转换 外部

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接