onclick不起作用

时间:2011-05-12 00:05:15

标签: javascript javascript-events

我有一个带有一些链接的网页(没有为这些链接分配ID)。我想为这些链接添加onclick功能。通过查看该网页的源代码,我意识到我可以使用以下代码添加onclick到链接:

doc = doc.replace(/&sa=N\"/g, "&sa=N\" onClick=\"alertsomething();return false;\"");

function alertsomething(){
alert('hello');
}

但是当加载网页并点击这些链接时,“alertsomthing”功能不起作用。它生成以下页面:

  

找不到对象!

在此服务器上找不到请求的URL。引用页面上的链接似乎是错误的或过时的。请通知该页面的作者有关错误的信息。

如果您认为这是服务器错误,请与网站管理员联系。

  

错误404 localhost 12/05/2011   上午10:00:29 Apache / 2.2.17(Win32)   mod_ssl / 2.2.17 OpenSSL / 0.9.8o   PHP / 5.3.4 mod_perl / 2.0.4 Perl / v5.10.1

我检查了以下代码并且它正常运行

doc = doc.replace(/&sa=N\"/g, "&sa=N\" onClick=\"alert("hello");return false;\"");

我正在使用IE7。

1 个答案:

答案 0 :(得分:1)

除非你确切知道自己在做什么,否则不要乱用body.innerHTML。它将删除作为DOM属性添加的侦听器,使用正则表达式解析HTML肯定会在任何非平凡的页面中失败。

页面中的每个链接都有一个document.links集合,对其进行迭代并将侦听器添加到每个链接。或者向主体添加单击侦听器并等待点击 - 如果它们来自链接,请执行您的操作。