0

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

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

4 回答 4

2

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

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

注意this

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

于 2013-02-08T13:04:55.020 回答
1

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

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

this上下文。".number"所以你只是在当前迭代中寻找元素".box"

于 2013-02-08T13:06:57.233 回答
1

此外,您似乎试图做的太多了。

这就是您需要做的所有事情。

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

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

于 2013-02-08T13:09:57.600 回答
0
var c = {
    current: 0,
    count: function () {
        this.current++
    }
}
$('.box').each(function (index,v) {
    $(v).children(".number").text(++c.current);
    //c.count();
});
于 2013-02-08T13:05:32.967 回答