[javascript] 문자열을 반환하는 값에 자바 스크립트 (jquery)로 정수 값을 추가하려면 어떻게해야합니까?

다음과 같은 간단한 html 블록이 있습니다.

<span id="replies">8</span>

jquery를 사용하여 값 (8)에 1을 추가하려고합니다.

var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);

무슨 일이 일어나고 있는지는 다음과 같이 나타납니다.

81

그때

811

9가 아니라 정답입니다. 내가 뭘 잘못하고 있죠?



답변

parseInt ()는 정수 유형이되도록 강제하거나 변환을 수행 할 수없는 경우 NaN (숫자가 아님)이됩니다.

var currentValue = parseInt($("#replies").text(),10);

두 번째 매개 변수 (기수)는 십진수로 구문 분석되도록합니다.


답변

Parse int는 여기서 사용해야하는 도구이지만 다른 도구와 마찬가지로 올바르게 사용해야합니다. parseInt를 사용할 때 항상 기수 매개 변수를 사용하여 올바른 기준이 사용되는지 확인해야합니다.

var currentValue = parseInt($("#replies").text(),10);


답변

정수는 그 반대가 아닌 문자열로 변환됩니다. 원하는 :

var newValue = parseInt(currentValue) + 1


답변

parseInt는 IE에서 나를 위해 작동하지 않았습니다. 그래서 저는 단순히 원하는 변수에 +를 정수로 사용했습니다.

var currentValue = $("#replies").text();
var newValue = +currentValue + 1;
$("replies").text(newValue);


답변

.js의 8 진수 오해와 관련하여-방금 사용했습니다 …

parseInt(parseFloat(nv))

선행 0으로 테스트 한 후 매번 올바른 표현으로 돌아 왔습니다.

도움이 되었기를 바랍니다.


답변

코드는 다음과 같아야합니다.

<span id="replies">8</span>

var currentValue = $("#replies").text();
var newValue = parseInt(parseFloat(currentValue)) + 1;
$("replies").text(newValue);

해킹 N 트릭


답변

1 씩 증가하려면 다음과 같이 할 수 있습니다.

  var newValue = currentValue ++;