jquery做简单的数学?

AnA*_*ice 5 jquery

我有一个像这样的小DIV:

<div id="counter">2</div>
Run Code Online (Sandbox Code Playgroud)

我想使用jquery减去或添加1,导致3或1 ......

有没有办法在jquery中这样做?将字符串转换为int也许?

jAn*_*ndy 8

$('#counter').text(function(i, txt) {
    return +txt + 1;
});
Run Code Online (Sandbox Code Playgroud)

这样,内容将#counter被转换为整数.这适用于数字,但如果出于某种原因,像"foo123"这样的内容,它就会成为NaN.

所以解析它的另一种方法是使用 .parseInt()

$('#counter').text(function(i, txt) {
    return parseInt(txt, 10) + 1;
});
Run Code Online (Sandbox Code Playgroud)

parseInt()需要两个参数,一个值和一个基数(基数).如果在"foo123"上调用它,它将返回"123".可以说这是一种错误的行为,因此您需要决定您想要的变体.

示例:http://www.jsfiddle.net/Mtvju/

参考:.text()


use*_*716 4

$('#counter').text(function(i,txt) { return parseInt(txt, 10) + 1; });
Run Code Online (Sandbox Code Playgroud)

添加示例: http: //jsfiddle.net/2uBMy/

减法示例: http: //jsfiddle.net/2uBMy/1/

要添加否定检查,您可以这样做:

$('#counter').text(function(i,txt) {
    var result = parseInt(txt, 10) - 1;
    return (result > 0) ? result : 0; 
});
Run Code Online (Sandbox Code Playgroud)