如何使用jQuery替换onclick
属性/属性的一部分?在下面的示例中,我想将delete_image
替换为do_delete_image
:
范例HTML
<a href="#" onclick="delete_image(1234)" >Delete Image</a>
我的尝试
jQuery('a').each(function(){
var action = $(this).prop('onclick').replace('delete_image','do_delete_image');
$(this).prop('onclick',action);
});
错误
Google Chrome抛出此错误:
TypeError:对象函数onclick(event){delete_image(1234);返回false; }没有方法“替换”
我该如何进行这项工作? ps:这是设置为与其他人的代码一起使用的书签。
最佳答案
onclick
是表示处理click
事件的函数的属性。要获取并设置实际内容,请使用attr
而不是prop
。
或者,考虑用delete_image
替换do_delete_image
,例如:
window.delete_image = window.do_delete_image;
如果需要包装原始函数,可以将其与闭包结合使用。