青岛设计网标志 搜艺招聘
   Guest:  登陆 | 注册 | 网站首页 | 论坛首页 | 我的贴子 | 修改资料 | 留言板 | | 论坛帮助  | 论坛首页  

  论坛首页   WEB网页设计教程  用javascript转换外部链接样式

[公告]快到[搜艺招聘网]发布招聘信息 注册简历、发布自己作品! :)  
用javascript转换外部链接样式   reply disable
    zhanzhan

查看zhanzhan的博客


金钱: 792
Level: 0
发帖数: 158
最后登陆: 2008/12/12
注册时间: 2007/3/15


[鍜界値鍚冧粈涔堣嵂]姣忓ぉ娉2琚嬶紝鍧氭寔30澶╋紝鍜界値濂藉鍒
信息 | 留言

用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>
现在可以看到效果了。


①岁半の站站




2007/5/18
信息 | 留言 | 引用 | 回复 | 编辑 | 置顶 | 移动 | 删除
回复:re:用javascript转换外部链接样式
    yoguz

查看yoguz的博客


金钱: 18255
Level: 0
发帖数: 1564
最后登陆: 2019/10/24
注册时间: 2004/12/13
信息 | 留言 引用 | 回复

不错的代码,有时间试试!

排卵期计算器 橙创意
2007/5/18
编辑 | 删除
    7     [    ]     8


青岛设计网版权所有
本论坛言论纯属发表者个人意见