javascript - 如何使用 javascript/jQuery 替换 onclick 操作(使用正则表达式)?

标签 javascript jquery

如何使用 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: Object function onclick(event) { delete_image(1234);return false; } has no method 'replace'

我怎样才能做到这一点? ps:这是一个设置为与其他人的代码一起使用的书签。

最佳答案

onclick 是表示处理click 事件的函数的属性。要获取和设置实际内容,请使用 attr 而不是 prop

或者,考虑将 delete_image 替换为 do_delete_image,例如:

window.delete_image = window.do_delete_image;

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

关于javascript - 如何使用 javascript/jQuery 替换 onclick 操作(使用正则表达式)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900588/

相关文章:

javascript - FFT 与 offlineAudioContext

javascript - 如果没有 "link_to"类助手,我如何调用 ajax?

javascript - 我如何强制 jQuery 留在本地?

javascript - Handlebars 模板引擎未定义

javascript - Canvas drawImage 不在 Cordova 中绘制,安全问题?

javascript - webkitTransform 不适用于 ios Phonegap

jquery - 位置固定 div 低于 float div

php - jquery 在 ajax 调用中返回的按钮上

用于悬停的 jQuery 动画 'mouse direction'

javascript - 如何更改标记(箭头)的颜色?