2015-12-17 50 views
1

我是新來的jQuery和我努力與我的代碼獲取結果,但我沒有看到成功,所以我想你的幫助。我想添加類活動選定的選項所有其他選項將刪除該類。如果其他人沒有與單個選項選擇

HTML:

<ul> 
    <li>One</li> 
    <li>Two</li> 
    <li>Three</li> 
    <li>Four</li> 
    </ul> 

CSS:

li.active{color: blue;} 

的jQuery:

$('li').click(function() { 
    if(true) { 
     $(this).addClass('active'); 
    }else{ 
     $('li').removeClass('active'); 
    }; 
}); 
+1

'如果(真){...}'永遠是'真'......你是不是檢查什麼。此外,你甚至不需要檢查任何東西。只需從所有'.active'元素中刪除類,然後將該類添加到當前元素。 –

+0

你不需要,如果其他塊甚至只是添加/刪除你的類到所有李,然後使用'this'添加特定的類。 –

+0

點擊事件意味着它將在事件內部始終爲真..所以只要刪除,否則,或者你可以使用切換 –

回答

1

既然你做了,如果(真),將始終執行 所以用這個

$('li').click(function() { 
      //remove all active class of all li 
      $('li').removeClass('active'); 
      //set active class for this li only 
       $(this).addClass('active'); 
     } 

});

我創建了jfiddle!你

0

試試這個代碼: -

<ul class="nav-list"> 
<li class="active">One</li> 
<li>Two</li> 
<li>Three</li> 
<li>Four</li> 

$('.nav-list').on('click', 'li', function() { 
$('.nav-list li.active').removeClass('active'); 
$(this).addClass('active');}); 
相關問題