在 jQuery 和 Rails 中创建和删除 div

Create and remove div in jQuery and Rails

在我的网站上,我有不同的盒子,里面装着不同的艺术家,每个盒子上都有一个播放按钮,用于加载 Spotify 播放器。

我正在这样做:

$(document).ready(function(){$(".playid-"+#{artist.id.to_s}).click(function () {
$(".player-id-"+#{artist.id.to_s}).fadeToggle()
;}

工作正常。但是,当我单击 second/third... 播放按钮时,播放器的 div 会一次又一次地创建。

我想要的是检查 div 是否存在,然后 hide/destroy/remove 然后创建播放器的新 div 所以我只创建了 1 div任何时候。

我尝试过使用 .remove,但我不知道使用相同代码创建新 div 的正确方法是:

%div{:class => 'player player-id-'+artist.id.to_s}
  %iframe{:src => 'https://embed.spotify.com/?uri='+artist.spotify_player_url, :width => "100%", :height => "80px", :frameborder => "0", :allowtransparency => "true", :class => "player_spotify"  }

谢谢!

在显示新元素之前隐藏所有 player 元素怎么样?

$(document).ready( function(){
  $(".playid-"+#{artist.id.to_s}).click(function () {
    $(".player").fadeOut();
    if( $(".player-id-"+#{artist.id.to_s}).is(':hidden') ) {
      $(".player-id-"+#{artist.id.to_s}).fadeIn();
    }
  }
});

如果有人需要,这是正确的代码。非常感谢antyrat

$(document).ready( function(){
$(".playid-"+#{artist.id.to_s}).click(function () {
$(".player").fadeOut();
if(!$(".player-id-"+#{artist.id.to_s}).is(":visible")) {
$(".player-id-"+#{artist.id.to_s}).fadeIn();
}
}
)
;}
);