jQuery Selector循环数组不起作用

时间:2013-12-26 00:26:54

标签: jquery-selectors

我在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不循环并将值更改为数组的每个元素(在这种情况下是单个元素数组)?

1 个答案:

答案 0 :(得分:1)

$ 函数返回的jQuery对象未实现HTML5静音属性。这就是为什么以下表达式无效:

$('#background_audio').muted = $('#background_audio').muted ? false : true;

尝试使用此方法来更改数组中每个元素的属性值:

$("#jQueryToggleWaste").click(function () {
    $('#background_audio').each(function () {
        this.muted = !this.muted;
    });
});