jQuery切换类

我在将jQuery的toggleClass函数添加到我的其余代码中时遇到了麻烦。 该页面上有几个HTML5音频标签,通过jQuery控制。 我试图将切换function添加到我的jQuery音频控制function,但它没有添加类,随后音频控件不起作用..所以我想这是一些奇怪的语法错误。

你们推荐什么? 下面是一个jsFiddle和我(不幸的)弱尝试:)

http://jsfiddle.net/danielredwood/FTfSq/10/

HTML:

JavaScript的:

 var curPlaying; $(function() { $(".playback").click(function(e){ e.preventDefault(); var song = $(this).next('audio')[0]; song.toggleClass("playing"); if(song.paused){ song.play(); if(curPlaying) $("audio", "#"+curPlaying)[0].pause(); } else { song.pause(); } curPlaying = $(this).parent()[0].id; }); }); //the function below works, but doesn't have the add/remove class functions var curPlaying; $(function() { $(".playback").click(function(e) { e.preventDefault(); var song = $(this).next('audio')[0]; if (song.paused) { song.play(); if (curPlaying) $("audio", "#" + curPlaying)[0].pause(); } else { song.pause(); } curPlaying = $(this).parent()[0].id; }); }); 

我会使用.addClass().removeClass() ,因为它会清理你的代码并允许你使用CSS来执行所有布局工作:

 $('thumbnail').toggle(function(){ $('.play', this).removeClass('pausing'); $('.play', this).addClass('playing'); }, function(){ $('.play', this).addClass('pausing'); $('.play', this).removeClass('playing'); }); 
 $('thumbnail').toggleClass('pausing playing'); 

ToggleClass :根据类的存在或switch参数的值,从匹配元素集中的每个元素添加或删除一个或多个类。