如何使用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;


如果需要包装原始函数,可以将其与闭包结合使用。

07-24 17:41
查看更多