这是我的简单函数,在元素上称为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/

10-11 21:51