没有调用Onclick函数

时间:2015-07-07 21:46:42

标签: javascript jquery function events

我有以下代码 http://jsfiddle.net/6xcn6gzj/,我需要使用其属性从页面中删除一个元素,因此我选择了jQuery的删除。我的问题是,一旦我点击图像,没有任何反应。我尝试从javascript本身调用该函数,它工作得很好。出于某种原因,事件并没有发生。

HTML:

<div>
    <img src="whatever" alt="test" onclick="close('test')">
</div>

使用Javascript:

console.log('hi');
function close(template) {
    console.log(template);
    $('body').find('img[alt="'+template+'"]').remove();
}

控制台正在记录“hi”,表示javascript正常运行,但它从不记录模板名称。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:8)

两个问题:

  • 请勿将您的功能命名为close,否则会与window.close
  • 冲突
  • 您的小提琴设置为在onload处理程序中加载您的代码,因此您的函数是该函数的本地函数。更改您的小提琴以在<head> http://jsfiddle.net/6xcn6gzj/7/
  • 中加载脚本

function doClose(template) {
  console.log(template);
  $('body').find('img[alt="' + template + '"]').remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <img src="whatever" alt="test" onclick="doClose('test')" />
</div>

答案 1 :(得分:1)

也许你应该调用this.remove()?

<div>
    <img src="whatever" alt="test" onclick="this.remove()">
</div>

http://jsfiddle.net/6xcn6gzj/2/