jquery
  • html
  • css
  • radio-button
  • 2013-04-29 61 views 0 likes 
    0

    首先請訪問該小提琴,點擊單選按鈕: http://jsfiddle.net/skfNh單選按鈕需要改變文本individally

    當單選按鈕點擊你可能已經注意到在這兩個 div class='letter'兩個文本(與黑色背景顏色)的變化。我想單獨做。 我試過用.each()函數做,但沒有奏效。如何才能做到這一點?

    有在目前的jQuery代碼瞥見我,試圖:

    $(".selections").append("<div class='letter'>A</div>"); 
    $(".one").click(function() { 
        $(".letter").text("B"); 
    }); 
    $(".two").click(function() { 
        $(".letter").text("A"); 
    }); 
    

    回答

    1

    在這種情況下,你需要找到letter與點擊單選按鈕父selections

    $(".selections").append("<div class='letter'>A</div>"); 
    $(".one").click(function() { 
        $(this).closest('.selections').find('.letter').text("B"); 
    }); 
    $(".two").click(function() { 
        $(this).closest('.selections').find('.letter').text("A"); 
    }); 
    

    演示:Fiddle

    +0

    我剛想寫一個答案,看到你的答案。你怎麼能那麼快? :) – 2013-04-29 08:34:52

    +0

    請您簡單解釋一下,使用'.closest()'函數的目的是什麼? – Asif 2013-04-29 08:37:39

    +1

    '.closest()'會找到給定選擇符中最接近的父元素 – 2013-04-29 08:38:42

    1
    $(".one, .two").click(function() { 
        var $this = $(this), 
         text = $this.hasClass('one') ? 'B' : 'A'; 
        $this.parent().siblings(".letter").text(text); 
    }); 
    

    http://jsfiddle.net/4y5DX/

    0
    $('.selections').each(function() { 
        var el = $(this), 
         _one = el.find('.one'), 
         _two = el.find('.two'); 
    
        el.append("<div class='letter'>A</div>"); 
    
        var letter = el.find('.letter'); 
    
        _one.click(function() { 
         letter.text("B"); 
        }); 
    
        _two.click(function() { 
         letter.text("A"); 
        }); 
    }); 
    
    0

    這樣做將是設置信類的id屬性的最簡單方法。然後這樣做:

    $("#firstletter").text("B"); 
    $("#secondletter").text("B"); 
    

    應更換:

    $("letter") calls 
    
    相關問題