$(function() {
var div = $('div');
$('input').click(function() {
if($(this).is(':checked')) {
div.html(div.text() += 49);
} else {
div.html(div.text() -= 49);
}
});
});
这很疯狂,由于某种原因,+=
和-=
标记错误的分配,为什么会这样?
顺便说一句,我没有使用此代码,我知道它很糟糕,我只是在测试+=
答案 0 :(得分:6)
您无法将某些内容分配给临时结果。请改用+
和-
。此外,不需要使用复合运算符进行赋值,因为div.html(...)
完全相同:它用加法/减法的结果替换div的文本。
更新:您似乎也想要进行整数加法(而不是字符串连接)。您需要包含parseInt
,并制作代码:
$('input').click(function() {
if($(this).is(':checked')) {
div.html(parseInt(div.text()) + 49);
} else {
div.html(parseInt(div.text()) - 49);
}
});
答案 1 :(得分:0)
div.html(parseInt(div.text(), 10) += 49);
答案 2 :(得分:0)
这是另一种方式,它做同样的事情:http://jsfiddle.net/dD73X/2/。
$(document).ready(function() {
$('input').change(function() {
var t = parseInt($('div').text(), 10);
if ($('input').attr('checked')) {
$('div').text(t += 49);
}else{
$('div').text(t -= 49);
}
});
});