用javascript 转换外部CSS超级链接样式

用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.jzxue.com/gi;
    if(s.match(reg))
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    return true;
    }
    </script>
现在可以看到效果了。

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

利用JAVASCRIPT制作简单动画
document.onLoad的触发时间
JavaScript Function Outliner插件(第三版)
Javascript实例教程(20) OLE Automation(5)
Java学习之路:不走弯路,就是捷径
将js文件编译成动态链接库(dll)文件
仿163信箱的alert提示,带效果预览图,弹出层
JavaScript中的关键字"VAR"使用详解
JavaScript中的字符串操作
LINQ to JavaScript