2013-06-25 64 views
0

I'be的在掙扎與這一個,即使我敢肯定,這是很簡單的東西相當長的一段...jQuery的添加類只有一個IMG每個L1

我只是希望能夠在每個李加個班的一個圖像,當用戶單擊圖像上...

在此先感謝您的幫助

<ul id="slider-offer">  
    <li class="q_slide" id="q_who"> 
     <h3>Plutôt famille ou amis?</h3> 
     <div class="les_images"> 
      <img class="img_choice" src="img/questionnaire/famille.jpg" /> 
      <img class="img_choice" src="img/questionnaire/solo.jpg" /> 
      <img class="img_choice" src="img/questionnaire/couple.jpg" /> 
      <img class="img_choice" src="img/questionnaire/amis.jpg" /> 
     </div> 
    </li> 

    <li class="q_slide" id="q_when"> 
     <h3>Saison ?</h3> 
     <div class="les_images"> 
      <img class="img_choice" src="img/questionnaire/printemps.jpg" /> 
      <img class="img_choice" src="img/questionnaire/ete.jpg" /> 
      <img class="img_choice" src="img/questionnaire/automne.jpg" /> 
      <img class="img_choice" src="img/questionnaire/hiver.jpg" /> 
     </div> 
    </li> 

    <li class="q_slide" id="q_where"> 
     <h3>Ambiance ?</h3> 
     <div class="les_images"> 
      <img class="img_choice" src="img/questionnaire/plage.jpg" /> 
      <img class="img_choice" src="img/questionnaire/city.jpg" /> 
      <img class="img_choice" src="img/questionnaire/pleinair.jpg" /> 
      <img class="img_choice" src="img/questionnaire/sport.jpg" /> 
     </div> 
    </li> 

    <li class="q_slide" id="q_length"> 
     <h3>Trajet ?</h3> 
     <div class="les_images"> 
      <span class="duree" style="float:left">0 H &nbsp &nbsp &nbsp </span> 
      <input style="width:700px; height:20px;" type="range" name="points" min="0" max="600"> 
      <span class="duree" style="float:right">6H et +</span> 
      <br/><br/><br/> 
      <p> heures </p> 
     </div> 
    </li> 
</ul> 

現在我的jQuery代碼:

$('.img_choice').click(function() 
    { 
     $('.img_choice').removeClass('img_choice_click'); 
     $(this).addClass('img_choice_click'); 
    }); 
+1

哪一個?第一?持續? –

+1

什麼問題你的代碼看起來很好 –

回答

4

我想你的意思是這樣的:

$('.img_choice').click(function() { 
    $(this).addClass('img_choice_click').siblings().removeClass('img_choice_click'); 
}); 
+0

您錯過了將此類添加到父級的部分。我不確定有人是否真的讀過這個問題。 –

+0

我必須承認,我不確定OP是否想要將類添加到父元素中,還是僅將元素添加到元素中。當我讀到這個問題時,它只能用於點擊圖片。 –

+0

@roasted重讀之後,目前還不清楚預期的是什麼,但我認爲類def需要繼續。 –

1

要將類添加到父類li使用parents()方法,並指定一個篩選器爲li。目前該課程正在添加到img。在將其添加到點擊的img的父級之前,您還需要刪除添加的類。

$('.img_choice').click(function() 
{ 
    $('li.img_choice_click').removeClass('img_choice_click'); 
    $(this).parents("li").addClass('img_choice_click'); 
}); 

工作實例http://jsfiddle.net/SYMpQ/ 我只在例如添加了兩個圖像

+0

這將刪除獨立於每個李'.img_choice_click'類 –

+0

@roasted我認爲這個類不會被任意放置考慮它是多麼具體,但仍然是一個好點,我縮小了選擇器。 –

+0

我的意思是,按照我的理解問題,OP只希望一個圖像具有LI的類別,因此它可以具有多個圖像,每個圖像類別爲'img_choice_click' –

0
$('.img_choice').click(function() { 
    $(this).parent("li").find(".img_choice_click").removeClass("img_choice_click"); 
    $(this).addClass('img_choice_click'); 
}); 

此代碼應刪除.img_choice_click在這裏,並添加新的。

0

這可能是你期待

$('.img_choice').click(function() 
    { 
     $(this).siblings().removeClass('img_choice_click'); 
     $(this).addClass('img_choice_click'); 
    }); 

DEMO

相關問題