Когда вы удаляете атрибут src
, вы просто удаляете src
из HTML представления элемента audio
.
Базового JavaScript HTMLAudioElement
при этом все еще имеет src
свойство , поэтому просто удалите свойство src
.
Минимальное решение в нативном JavaScript было бы что-то вроде document.getElementsByTagName('audio')[0].src = '';
Конечно, вы не должны заменять тег audio
на тег img
, прежде чем делать это
document.getElementById('removeSourceProperty').addEventListener('click', function() {
document.getElementsByTagName('audio')[0].src = '';
});
document.getElementById('removeSourceAttribute').addEventListener('click', function() {
document.getElementsByTagName('audio')[0].removeAttribute('src');
});
<audio controls="controls" src="https://cdn.bitdegree.org/learn/I_Cactus_-_05_-_ruby_cactus.mp3?raw=true"></audio>
<div>
<button id="removeSourceAttribute">Remove source attribute (HTML only)</button>
<button id="removeSourceProperty">Remove source property (Works!)</button>
</div>