我正在尝试编写一个包含段落标记主要值的变量,如下所示:
<button id="button">random words</button>
<p id="inc">0</p>
<script>
$(document).ready(function(){
$('#button').on("click", function(){
var oldVal = $("#inc")
$('#inc').text( oldVal + 1)
});
});
</script>
如何将'#inc'变成一个数字,这样我可以做一个+ 1的增量?
答案 0 :(得分:1)
您可以使用回调文本功能接受旧文本并使用新文本进行修改。
您还需要将旧值解析为整数以递增它:
$('#button').on("click", function(){
$('#inc').text(function(i,oldVal){
return parseInt(oldVal,10) + 1 ;
});
});
答案 1 :(得分:0)
$("#inc")
返回一个jQuery obeject而不是它的内容,你可以使用.text()来获取它的内容然后递增它。请注意.text()
将返回一个字符串值,因此您需要在尝试添加1之前将其转换为数值
$(document).ready(function() {
$('#button').on("click", function() {
$("#inc").text(function(i, text) {
return +text + 1 || 0
})
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="button">random words</button>
<p id="inc">0</p>
&#13;
答案 2 :(得分:0)
使用以下代码更新您的代码,您将得到您想要的内容
<script>
$(document).ready(function(){
$('#button').on("click", function(){
var oldVal = parseInt($("#inc").text());
$('#inc').text( oldVal + 1)
});
});
</script>
实际上你的代码中有一个错误
必须替换 var oldVal = $("#inc")
var oldVal = parseInt($("#inc").text());