2012-07-23 105 views
0

在Button 1的單擊事件中,我如何才能從此部分刪除「已選擇」類。按鈕2的類不應該被刪除,按鈕2也是如此,如果我點擊按鈕2,如果選擇的類存在,則不應刪除按鈕1的類。我知道$('.small-button-1, .small-button-2').removeClass('selected');消除了一切。從html元素中刪除類

<div class="block"> 
    <div id="abcd" class="lg_button">Button 1</div> 
    <div> 
     <div class="small-button-1 selected">1</div> 
     <div class="small-button-2 selected">2</div> 
    </div> 
</div> 

<div class="block"> 
    <div id="dcba" class="lg_button">Button 2</div> 
    <div> 
     <div class="small-button-1 selected">1</div> 
     <div class="small-button-2 selected">2</div> 
    </div> 
</div> 

回答

1

我已喜歡這一點,但範圍內類不得不重新命名一些HTML標記來得到它的工作在這裏是我的榜樣 http://jsfiddle.net/fKwGR/

jQuery的部分:

$(document).ready(function() { 
$('div.lg_button1').click(function(){ 
     $('div.small-button-1.selected').attr('class','small-button-1'); 
     $('div.small-button-2.selected').attr('class','small-button-2'); 
     $('div.small-button-3').attr('class','small-button-3 selected'); 
     $('div.small-button-4').attr('class','small-button-4 selected'); 
     }); 
$('div.lg_button2').click(function(){ 
     $('div.small-button-1').attr('class','small-button-1 selected'); 
     $('div.small-button-2').attr('class','small-button-2 selected'); 
     $('div.small-button-3.selected').attr('class','small-button-3'); 
     $('div.small-button-4.selected').attr('class','small-button-4'); 
     }); 
});​ 

HTML部分:

<div class="block"> 
    <div id="abcd" class="lg_button1">Button 1</div> 
    <div id='button1'> 
     <div class="small-button-1 selected">1</div> 
     <div class="small-button-2 selected">2</div> 
    </div> 

<div class="block"> 
    <div id="dcba" class="lg_button2">Button 2</div> 
    <div id='button2'> 
     <div class="small-button-3 selected">1</div> 
     <div class="small-button-4 selected">2</div> 
    </div> 

+0

這不是很多代碼。將來,你可以在這裏發佈你的代碼嗎?如果你仍然想鏈接到jsfiddle,那很好。 – Nate 2012-07-24 08:11:36

+0

我不明白你的意思 – rsz 2012-07-24 09:47:56

+0

向我們顯示你的代碼在這個頁面上,而不只是一個鏈接到jsfiddle。閱讀代碼的人更方便,它可以幫助搜索引擎找到你的答案(因爲代碼的文本將被搜索),並且它可以防止鏈接腐爛。 – Nate 2012-07-24 12:57:06

0

我相信你需要掌握父元素,然後用它作爲選擇器的上下文。這樣http://jsfiddle.net/VY5Md/的東西應該達到你問什麼,因爲我覺得

$(function(){ 
     $('.lg_button').click(function(){ 
      var $p = $(this).parents('.block'); 
      $('.selected', $p).removeClass('selected'); 
     }); 
    });​ 

這段代碼獲得被點擊的按鈕,發現父類與「塊」,然後刪除與「選擇」從任何類「選擇」是「塊」

+0

這不是爲我工作 – user1502434 2012-07-23 13:29:03

+0

小提琴或當您將它應用到你的代碼是什麼?你使用的是什麼版本的jQuery? – TommyBs 2012-07-23 13:46:38