Saya memiliki blok html sederhana seperti:
<span id="replies">8</span>
Menggunakan jquery saya mencoba menambahkan 1 ke nilai (8).
var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);
Apa yang terjadi adalah seperti ini:
81
kemudian
811
bukan 9, yang merupakan jawaban yang benar. Apa yang saya lakukan salah?
javascript
jquery
casting
rball
sumber
sumber
parseInt("010", 10)
mengembalikan sepuluh.Parse int adalah alat yang harus Anda gunakan di sini, tetapi seperti alat lainnya, alat ini harus digunakan dengan benar. Saat menggunakan parseInt, Anda harus selalu menggunakan parameter radix untuk memastikan basis yang benar digunakan
var currentValue = parseInt($("#replies").text(),10);
sumber
Integer diubah menjadi string daripada sebaliknya. Kamu ingin:
var newValue = parseInt(currentValue) + 1
sumber
parseInt tidak bekerja untuk saya di IE. Jadi saya cukup menggunakan + pada variabel yang Anda inginkan sebagai integer.
var currentValue = $("#replies").text(); var newValue = +currentValue + 1; $("replies").text(newValue);
sumber
Berkenaan dengan salah tafsir oktal dari .js - Saya baru saja menggunakan ini ...
parseInt(parseFloat(nv))
dan setelah menguji dengan nol di depan, kembali setiap saat dengan representasi yang benar.
semoga ini membantu.
sumber
Kode Anda harus seperti ini:
<span id="replies">8</span> var currentValue = $("#replies").text(); var newValue = parseInt(parseFloat(currentValue)) + 1; $("replies").text(newValue);
Trik Hacks N
sumber
untuk bertambah satu, Anda dapat melakukan sesuatu seperti
var newValue = currentValue ++;
sumber
var month = new Date().getMonth(); var newmon = month + 1; $('#month').html((newmon < 10 ? '0' : '') + newmon );
Saya hanya memperbaiki masalah bulan Anda, array getMonth mulai dari 0 hingga 11.
sumber
Cukup, tambahkan tanda plus sebelum nilai teks
var newValue = +currentValue + 1;
sumber
Anda dapat mengalikan variabel dengan 1 untuk memaksa JavaScript mengubah variabel menjadi angka untuk Anda dan kemudian menambahkannya ke nilai Anda yang lain. Ini berfungsi karena perkalian tidak kelebihan beban sebagai penjumlahan. Beberapa orang mungkin mengatakan bahwa ini kurang jelas daripada parseInt, tetapi ini adalah cara untuk melakukannya dan belum disebutkan.
sumber
Anda dapat menggunakan metode parseInt () untuk mengonversi string menjadi integer dalam javascript
Anda tinggal mengubah kodenya seperti ini
$("replies").text(parseInt($("replies").text(),10) + 1);
sumber