我希望显示/隐藏其子元素中的类的父元素。 这就是我想要的。
<p><a href="<?php echo site_url('mp3/coins.mp3');?>" title="hello" class="sm2_button" id="song1">play</a> Dear Yesterdays </p>
<p><a href="<?php echo site_url('mp3/fancy-beer-bottle-pop.mp3');?>" title="hello" class="sm2_button" id="song2">play</a> song 2</p>
<p><a href="<?php echo site_url('mp3/coins.mp3');?>" title="hello" class="sm2_button" id="song1">play</a> Dear Yesterdays </p>
<p><a href="<?php echo site_url('mp3/fancy-beer-bottle-pop.mp3');?>" title="hello" class="sm2_button" id="song2">play</a> song 2</p>
<script>
$(document).ready(function(){
$('.play p').hide();
$('.play p:first').show();
$('.play p a').each(function(){
var attr = $(this).attr('class');
var cls = attr.split(' ');
if(cls[1]=='sm2_playing' || cls[1]=='sm2_paused')
{
// display none to all .play p tags except the one with those classes sm2_playing or sm2_paused
}
});
});
</script>
请帮帮我。 我正在使用soundmanager2。我想一个接一个地播放歌曲,只显示播放的歌曲。
答案 0 :(得分:0)
如果您使用动态生成类或任何对象,则无法直接使用该对象。对于此类和对象,您必须绑定事件。请参考JQuery bind here。
答案 1 :(得分:0)
jQuery不会为将来的对象做你想做的事。
您可以简单地将show()
和hide()
与CSS结合使用,而不是使用addClass()
/ removeClass()
:
<强> CSS 强>
.play p
{
display: none;
}
.play p.sm2_playing, .play p.sm2_paused
{
display: block;
}
然后,当您执行$(this).addClass('sm2_playing')
元素时,元素将显示,$(this).removeClass('sm2_playing sm2_paused')
元素将隐藏。