今天在工作中需要将某个链接给取消实现只触发事件的目的,后来发现批量取消链接等,脚本之家简单的给整理了下,希望对需要的朋友有所帮助。
单个链接取消链接并触发js事件
<a href="javascript:void(0);" onclick="alert('ok')">测试</a>
批量将网页中的链接取消或重新设置链接的代码:
<A href="http://www.baidu.com" >百度</A> <A href="http://www.jb51.net" >脚本之家</A>
<A href="http://s.jb51.net" >服务器软件</A> <A href="http://sc.jb51.net" > 素材下载</A>
<A href="http://tools.jb51.net" >站长查询</A> <A href="http://www.jb51.net/jiaoben/" >脚本下载</A>
<input type=button id=o1 value="取消所有链接" onclick="javascript:doLinkAll(false)">
<input type=button id=o2 value="重新设置链接" onclick="javascript:doLinkAll(true)">
<script>
function doLinkAll(action){
var arr=document.getElementsByTagName("A")
for(var i=0;i <arr.length;i++){
if (action){ //重新设置链接
if (arr[i].rel) arr[i].setAttribute("href",arr[i].rel)
}else{ //取消所有链接
arr[i].setAttribute("rel",arr[i].href)
arr[i].removeAttribute("href")
}
}
o1.disabled=!action
o2.disabled=action
}
</script>
如果想让指定id的链接字取消或恢复链接可以参考下面的代码
var e=document.getElementById( "link1 ")
//设置
e.setAttribute( "href ",e.rel)
//取消
e.setAttribute( "rel ",e.href)
e.removeAttribute( "href ")
代码说明:为什么取消需要加上e.setAttribute( "rel ",e.href) ,这段代码就是为a增加一个rel熟悉并设置好链接,方便后来的恢复链接。
js方法原文来自:http://www.jb51.net/article/28500.htm
jQuery方法:
取消链接:
jQuery代码:
<script type="text/javascript" src="http://www.codefans.net/ajaxjs/jquery1.3.2.js"></script> <script type="text/javascript">
$(document).ready(function() {
$(".cont a").removeAttr("href")
}); </script>
html代码:
<div class="cont">
<a href="http://www.baidu.com">内容</a> </div>
添加链接实现:
jQuery代码:
<script type="text/javascript" src="http://www.codefans.net/ajaxjs/jquery1.3.2.js"></script> <script type="text/javascript">
$(document).ready(function() { var strA = "<a href='http://www.baidu.com'></a>";
$(".cont").wrapInner(strA); }); </script>
html代码:
<div class="cont">
内容 </div>