听起来非常简单,我很难管理它。
简单地说,如果我在按下shift键时单击一个id为“Counter”的元素,则Total包含的int应该会增加。如果单击时保持alt,则会下降。
$('#Counter').click(function(x) {
if(x.altKey) {
$('#Counter').html(parseInt($('#Total').html())-1);
}
if (x.shiftKey) {
$('#Counter').html(parseInt($('#Total').html())+1);
}
});
///////////
<div id="Counter"><span id="Total">100</span></div>
答案 0 :(得分:2)
我可以看到您的问题,您想要将<span id="Total">100</span>
解析为数字。你不能这样做。您还要将#counter
的html设置为一个数字,这样您就会失去#Total
。
你想要的是:
$('#Counter').click(function(x) {
if(x.altKey) {
$('#Counter').html(parseInt($('#Counter').html())-1);
}
if (x.shiftKey) {
$('#Counter').html(parseInt($('#Counter').html())+1);
}
});
<div id="Counter">100</div>
答案 1 :(得分:1)
您正在覆盖span标记,这就是为什么它只适用于第一次点击,之后没有名称为Total
的span标记尝试:
$('#Counter').click(function (x) {
if (x.altKey) {
$('#Counter').html('<span id="Total">' + (parseInt($('#Total').html()) - 1) + '</span>');
}
if (x.shiftKey) {
$('#Counter').html('<span id="Total">' + (parseInt($('#Total').html()) + 1) + '</span>');
}
});
或者更简洁:
$('#Counter').click(function (x) {
if (x.altKey) {
$('#Total').html((parseInt($('#Total').html()) - 1));
}
if (x.shiftKey) {
$('#Total').html((parseInt($('#Total').html()) + 1));
}
});