2012-12-03 93 views
0

我想顯示/隱藏父元素相對於其子類中的類具有。 這是我想要的。我想通過使用動態生成的類來顯示隱藏元素

<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

jQuery不會做你正在爲未來的對象做的事情。

而不是使用show()/hide(),你可以簡單地結合使用addClass()removeClass()與你的CSS:

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')元素將隱藏。

0

如果您正在使用動態生成類或任何對象,則不能直接使用該對象。對於這樣的類和對象,你必須綁定事件。請參閱JQuery綁定here