我在JsFiddle有一个示例页面,它加载音频(HTML5)并有3个按钮来静音音频,其中第3个按钮不会使音频静音。
工作按钮事件: -
$("#domToggle").click(function(){
document.getElementById('background_audio').muted = document.getElementById('background_audio').muted ? false : true;
});
$("#jQueryToggle").click(function(){
$('#background_audio')[0].muted = $('#background_audio')[0].muted ? false : true;
});
按钮事件下方没有静音: -
$("#jQueryToggleWaste").click(function(){
$('#background_audio').muted = $('#background_audio').muted ? false : true;
});
为什么$('#background_audio').muted
不循环并将值更改为数组的每个元素(在这种情况下是单个元素数组)?
答案 0 :(得分:1)
$ 函数返回的jQuery对象未实现HTML5静音属性。这就是为什么以下表达式无效:
$('#background_audio').muted = $('#background_audio').muted ? false : true;
尝试使用此方法来更改数组中每个元素的属性值:
$("#jQueryToggleWaste").click(function () {
$('#background_audio').each(function () {
this.muted = !this.muted;
});
});