要實現效果:點擊鏈接先去掉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是大寫