2013-12-26 2 views
0

У меня есть образец страницы в JsFiddle, который загружает аудио (HTML5) и имеет 3 кнопки для отключения звука, из которых 3-я кнопка не отключает звук.jQuery Селектор цикла петли не работает

Рабочие кнопки события: -

$("#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

Объект jQuery, возвращаемый функцией $, не реализует атрибут mutex HTML5. Вот почему следующее выражение не имеет никакого эффекта:

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

Попробуйте это вместо того, чтобы изменить значение атрибута для каждого элемента массива:

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

'this.muted = this.muted' –

+0

@StephenThomas : Очень хорошо видно. Я просто обновил свой ответ, чтобы использовать ваше предложение;) –

Смежные вопросы