jquery动态移除/增加onclick属性详解

要实现效果:点击链接先去掉onclick属性,3秒后再自动加上该标签中的onclick属性

jQuery中,针对标签属性的操作都是使用attr()方法来实现的,比如:$("a").attr("onclick")可获得a标签的onclick属性,对应的:

增加事件:

 $(选择器).attr(属性名) 它的作用就是获取指定元素( $(选择器)部分 )的指定属性的值

设置onclick属性:

$("a").attr("onclick","test();");

删除事件:

$(selector).removeAttr(attribute)

例:
删除onclick属性:

$("a").removeAttr("onclick");

理论上上面的代码没问题,但实际上上面语句不执行也不报错,后来发现原因:

jquery 1.6之前的版本并不支持attr()方法对标签onclick属性的相关操作!

换句话说要使用attr()方法操作标签中的onclick属性必须使用jq库1.6或更新的库版本!

 代码如下:

<script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript">
$(function(){
 $(".b").click(function(){
  $(this).removeAttr("onclick");
  setTimeout(function(){
   $(".b").attr("onclick","test();");
   },3000)
  })
 })
function test(){}
</script>
<p>
 <a class="b" href="#" onclick="test();">点击去掉该链接的onclick属性,3秒后再自动加上该onclick属性</a>
</p>

jquery中删除属性的关键词是: removeAttr 注意A是大写

原文地址:https://www.cnblogs.com/longshiyVip/p/4792277.html