动态增加数量(计数元素)

时间:2013-02-08 13:01:55

标签: jquery each

我正在尝试将一个数字放在一个元素列表中 - 一个动态增加的数字 - 如:

1. text
2. text
3. ...
...

到目前为止,我有这个:

var c = {
    current: 0,
    count: function () {
        this.current++
    }
}
$('.box').each(function (index) {
    $(".number").text(c.current + 1);
    c.count();
});
  • jsfiddle。但是我错过了什么?我如何给每个元素赋予自己的数字?

感谢。

4 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/Qzk3P/4/,您忘记添加上下文参数,请参阅下面的示例:

$(".number", this).text(c.current + 1);

请注意this

编辑:我添加了另一个带css-property计数器的示例,您可能也喜欢它:http://jsfiddle.net/Qzk3P/6/

答案 1 :(得分:1)

您正在更改".number"的文本,该文本恰好存在4次。像这样更新您的代码:

$('.box').each(function (index) {
    $(".number", this).text(c.current + 1);
    c.count();
});

this是上下文。因此,您只需在当前迭代".number"

中查找".box"元素

答案 2 :(得分:1)

你似乎也试图做太多。

这就是你需要做的一切。

var count = 0;
$('.box').each(function (index) {
    count ++;
    $(".number", this).text(count);
});

http://jsfiddle.net/Qzk3P/5/

答案 3 :(得分:0)

var c = {
    current: 0,
    count: function () {
        this.current++
    }
}
$('.box').each(function (index,v) {
    $(v).children(".number").text(++c.current);
    //c.count();
});
相关问题