audio.play() 不是函数。

olf*_*adi 5 html javascript

我正在通过http://wesbos.com进行这个 Javascript (vanilla JS) 30 天挑战 。我尽量不看第一个挑战的参考代码。

无论如何,我试图让这段代码工作,但我最终得到这个错误:“未捕获的类型错误:audElem.play 不是函数

这是我的代码:

function functionA( item){

  //  alert("HEYYY")
  item.classList.add("playing");

  var audElem= item.getElementsByTagName('audio') [0].getElementsByTagName('source')[0];

  var song= audElem.getAttribute('src');
  song.currentTime=0;
  song.play();
}
Run Code Online (Sandbox Code Playgroud)

这是 html 部分:

<li class="flex-item " > A  

  <span class="flex-SubItem"> <br />  BOOM </span> 

  <audio id="boom" >
   <source src="sound-effects/boom.mp3" type="audio/mpeg">
  </audio>
</li>
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚,但什么也没有。除了你们,我没有人要问。我希望我能得到答案。感谢任何方式:)

Que*_*tin 5

play<audio>对象的一个方法,但是您正在从对象的属性中获取的字符串上调用它<source>