0

まず、このフィドルにアクセスして、ラジオ ボタンをクリックしてください: http://jsfiddle.net/skfNh

ラジオ ボタンをクリックすると、両方のテキスト div class='letter'(背景色が黒) が変更されていることに気付いたかもしれません。個人でやりたい。.each()関数でやろうとしましたが、うまくいきませんでした。これはどのように行うことができますか?

私が試している現在のjQueryコードを垣間見る:

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

4 に答える 4

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");
});

デモ:フィドル

于 2013-04-29T08:32:12.913 に答える
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");
    });
});
于 2013-04-29T08:34:37.343 に答える
0

これを行う最も簡単な方法は、文字クラスに id 属性を設定することです。そして、これを行う:

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

以下を置き換える必要があります。

$("letter") calls
于 2013-04-29T08:34:38.910 に答える