2

スクリプト用のカウンターが 1 つありますが、カウンターにも同じものを使用したいと考えています。私はクラスとIDのすべての変更に対してオープンです。コードは次のとおりです。

$(document).ready(function(){
    $('#target').click(function() {
        $('#output').text(function(i, val) { return val*1+1 });
    });

    $('#targetdown1').click(function() {
        $('#output').text(function(i, val) { return val*1-1 });
    });
    });

例は次のとおりです。

http://jsfiddle.net/cY9p7/7/

4

2 に答える 2

1

あなたの場合だけでなく、私が使用している解決策の1つは、開始要素の属性として更新する必要がある要素のターゲットIDを書き込むことです

あなたの場合、更新に必要なターゲット要素を示すデータ属性を各 +/- 記号に追加しました

HTML コード

<div class="left" id="output1">1</div>
<div class="right">
   <div class="up-arrow" id="target" data-target="output1">+</div>
   <div class="down-arrow" id="targetdown1" data-target="output1">-</div>
</div>

Jクエリコード

$(document).ready(function(){
    $('.up-arrow').click(function() {
        var target = $(this).attr("data-target");
        var val =  

        $('#' + target).text(function(i, val) {return val*1+1 });
    });

    $('.down-arrow').click(function() {
        var target = $(this).attr("data-target");
        $('#' + target).text(function(i, val) { 
            if (val == 0)
                return 0;
            return val*1-1 
        });
    });
});

フィドルの例

于 2013-01-27T12:54:52.063 に答える
1
$(document).ready(function () {
    $('.up-arrow, .down-arrow').click(function () {
        var self = this;
        $(this).closest('.counterBox1').find('.left').text(function (i, val) {
            return self.id == 'target' ? (val * 1 + 1) : (val * 1 - 1);
        });
    });
});

フィドル

于 2013-01-27T12:58:25.327 に答える