你不能使用++
对于不是变量的东西,这将是您可以获得的最接近的结果:
$('#counter').html(function(i, val) { return +val+1 });
jQuery 的html()方法可以获取和设置元素的 HTML 值。如果传递一个函数,它可以根据现有值更新 HTML。所以在你的代码的上下文中:
$("#update").click(function() {
$('#counter').html(function(i, val) { return +val+1 });
}
DEMO: http://jsfiddle.net/marcuswhybrow/zRX2D/2/
当需要将页面上的计数器与数据库中的计数器值同步时,永远不要相信客户!您向服务器端脚本发送递增或递减信号,而不是发送连续值(例如 10 或 23)。
但是,当您更改计数器的 HTML 时,您可以向服务器发送 AJAX 请求:
$("#update").click(function() {
$('#counter').html(function(i, val) {
$.ajax({
url: '/path/to/script/',
type: 'POST',
data: {increment: true},
success: function() { alert('Request has returned') }
});
return +val+1;
});
}