内联onclick函数(this)不调用jQuery方法

时间:2014-09-22 11:30:30

标签: javascript jquery html event-handling

在处理onclick事件时遇到了麻烦。 我的HTML:

<div>
  <button onclick="sound(this)">Listen</button> 
  <audio class="audio" src="example.mp3"></audio>
</div>

我的JS(jQuery):

function sound(element){
  $audio = element.siblings('.audio').first();
  $audio.trigger('play');
}

事情是没有播放的音频文件。 我也做了一些测试。

function sound(element){
   alert(element.tagName); -> it worked
   alert(element.parent().tagName); -> not worked and so on with siblings() or next()

有些事情一定是错的。请帮帮我。非常感谢。

1 个答案:

答案 0 :(得分:1)

而不是

function sound(element){
  $audio = element.siblings('.audio').first();
  $audio.trigger('play');
}

试试这个

function sound(element){
  $audio = $(element).siblings('.audio').first(); //here 'element' is just a DOM element you have to wrap 'element' in jquery wrapper.
  $audio.trigger('play');
}