在Javascript中动态创建音频元素

Sam*_*ott 11 javascript audio appendchild

我需要在两者之间动态创建音频标签 <div class="audio-player" id="song"></div>

需要创建:

<audio id="audio-player" controls="controls" src="media/Blue Browne.mp3" type="audio/mpeg">

in: <div class="audio-player" id="song"></div> 请帮助它对我非常重要

ble*_*lex 13

您可以通过多种方式完成此操作.这里有一些:

运用 innerHTML

如果要替换所有内部HTML,请使用此方法,而不关心对元素的引用.

document.getElementById('song').innerHTML = '<audio id="audio-player" controls="controls" src="media/Blue Browne.mp3" type="audio/mpeg">';
Run Code Online (Sandbox Code Playgroud)

运用 appendChild

如果您想要对音频元素以及可能已存在的其他元素进行引用,请使用此选项.

var sound      = document.createElement('audio');
sound.id       = 'audio-player';
sound.controls = 'controls';
sound.src      = 'media/Blue Browne.mp3';
sound.type     = 'audio/mpeg';
document.getElementById('song').appendChild(sound);
Run Code Online (Sandbox Code Playgroud)

运用 insertAdjacentHTML

如果您之前引用了其他元素并希望保留引用,但是暂时不关心对该audio元素的引用,请使用此方法.

document.getElementById('song').insertAdjacentHTML('beforeend', '<audio id="audio-player" controls="controls" src="media/Blue Browne.mp3" type="audio/mpeg">');
Run Code Online (Sandbox Code Playgroud)