这是我的简单函数,在元素上称为onclick="incrementValue(this)"
function incrementValue(plusElement) {
var choicesLeft = jQuery("#choicesLeft");
choicesLeft.innerHTML = Number(choicesLeft.innerHTML) - 1;
console.log(choicesLeft.innerHTML);
};
console.log
行在控制台中打印出NaN。但是,当我在控制台中输入以下行时:
choicesLeft.innerHTML = Number(choicesLeft.innerHTML) - 1;
发生预期的行为。
有任何想法吗 ?
最佳答案
由于您在jQuery对象上调用innerHTML
,因此此处无法使用。
使用text()
代替innerHTML
:
choicesLeft.text( Number(choicesLeft.text()) - 1 );
希望这可以帮助。
function incrementValue() {
var choicesLeft = jQuery("#choicesLeft");
choicesLeft.text( Number(choicesLeft.text()) + 1 );
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onClick='incrementValue()'>Increment</button>
<br>
<span id='choicesLeft'>0</span>
关于javascript - 数字解析可在控制台中运行,但不能在脚本中运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40409183/