2

我有一个脚本计数器,但我想对计数器使用相同的计数器。我对班级和身份证的所有变化持开放态度。这是代码:

$(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

我不仅针对您的情况使用的解决方案之一是将我需要更新的元素的目标 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>

jQuery代码

$(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 回答