не уверен, почему setAttribute () не работает для аудио элемента - PullRequest
0 голосов
/ 01 июня 2019

В моем коде я хочу установить значение атрибута для аудиоэлемента, чтобы он изменил «тестирование» на «рабочий» в элементе абзаца, когда аудиофайл перестает воспроизводиться.

Я знаю, что могу создать аудио элемент вне скрипта, но мне это нужно для чего-то другого, что я делаю.

Файл "horse.mp3" существует, потому что я играл на этой странице, пытаясь заставить его работать: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_audio

<!DOCTYPE html>
<html>

<body>
  <p id="test">testing</p>
  <script>
    var audio = new Audio("horse.mp3");

    audio.setAttribute("onended", "function(){document.getElementById("
      test ").innerHTML = "
      working "}");

    audio.play();
  </script>
</body>

</html>

1 Ответ

0 голосов
/ 01 июня 2019

Вам не нужно переносить свой атрибут onended на функцию. Кроме того, вы использовали несколько двойных кавычек внутри значения атрибута. Это не сработает. Я заменил двойные кавычки на одинарные.

var audio = new Audio("horse.mp3");

audio.setAttribute("onended", "document.getElementById('test').innerHTML = 'working'");

audio.play();
...