首页->正文

用js统一给链接加属性

2011-04-30 -Web开发 标签: javascript

a属性中的target设置为"_blank"好像已经成为默认的a属性了(国外的貌似很少用这个,why?)
每次手动加不免麻烦,通过js来统一处理下

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div id="demo">
     <a href="/">index</a>
     <a href="./add_target_blank.html#a">#a</a>
     <a href="http://localhost/">localhost</a>
</div>
<textarea id="show" cols="120" rows="6"></textarea>
<script>
function add_a_attr(){
     //jquery的确很方便,但是这次来点原生js(浏览器以后可能会集成jquery?个人建议)
     //获取页面中全部a标记
     var aTag = document.getElementsByTagName('a');
     var sHost = location.protocol + '//' + location.host;

     for (var i=0; i<aTag.length; i++){
          var sHref = aTag.item(i).href;
          aTag.item(i).title = sHref;
          //只给外链加,ie6下如果链接属于本域名,会返回/开头的链接
          //(用ieTester模拟竟然不是了!等找到真正的ie6再试一下)
          if(sHref.indexOf('/') != 0 
               && sHref.indexOf(sHost) != 0){
               aTag.item(i).target = "_blank";
          }
     }
}
add_a_attr();
//演示用,直接看到附加属性后的a标记,当然你可以直接用调试工具查看(比如firebug)
document.getElementById('show').value = document.getElementById('demo').innerHTML;
</script>
</body></html>


相关下载
.ieTester:http://www.my-debugbar.com/wiki/IETester/HomePage
.firebug:http://getfirebug.com/
.js入门教程:http://www.dreamdu.com/javascript/
.高阶点的:http://www.onlinetools.org/articles/unobtrusivejavascript/index.html

下一篇 Windows下的Linux命令工具集

上一篇 正则修饰符m和s用法

相关文章

页面跳转的方式总结

UTF8头信息BOM导致的json输出问题

转义符导致json和parse_str解析的两则问题

通过js给图片添加热区

javascript中setInterval引起的倒计时问题

文章分类

开发小提示

  • 1:Mongodb中通过db.yourCollectionName. dataSize()查看某个文档的大小
  • 2:linux下用reset命令恢复查看二进制文件导致的命令行乱码
  • 3:查看MySQL表的索引情况show index from tableName
  • 更多...

交流

  • wangnow(a)126.com