我有一些數字ID的元素。每個ID都在一個單獨的範圍內。我可以將該值作爲數字來增加嗎?我試圖爲文本,但它似乎沒有工作...我可以通過數字獲得價值嗎?
var lastVal = $(".myID:last").text();
var newVal = lastVal++;
Value <span class="myID">5</span>
我有一些數字ID的元素。每個ID都在一個單獨的範圍內。我可以將該值作爲數字來增加嗎?我試圖爲文本,但它似乎沒有工作...我可以通過數字獲得價值嗎?
var lastVal = $(".myID:last").text();
var newVal = lastVal++;
Value <span class="myID">5</span>
當你得到一個元素的.text()
,jQuery的返回一個字符串。你不能增加一個字符串,所以你必須使用parseInt()
功能使它成爲整數
var lastVal = parseInt($(".myID:last").text(), 10);
現在lastVal
包含一個整數。
使用parseInt
函數將其從字符串轉換爲數字:
var newVal = parseInt(lastVal, 10);
newVal++;
的第二個參數parseInt
,radix
,是可選的,用於指定輸入字符串的基礎。未能提供該參數導致要根據下面的規則自動確定的基礎:如果字符串以「0x」,基座被假定爲16
要將字符串轉換爲數字,可以使用parseInt
函數。但要真正改變它(如果我正確理解您的意思),你想做的事:
var elem = $('.myID');
var num = parseInt(elem.text());
elem.text(num+1)
// <span class="myID">5</span>
夫婦這邊的事情:
$('#btn').click(function(){
var lastVal = parseInt($("#txt").val(), 10);
var newVal = ++lastVal;
})
lastVal
的值分配給newVal
和,然後遞增(不會被添加)。使用預增量,您可以在賦值之前修改值lastVal
(這是您要做的)。
你需要一個基數,如果該值爲'077'。 – SLaks 2011-04-18 19:53:06
基數是否默認爲「10」?哦,我會包括它。 – Blender 2011-04-18 19:54:01
不完全。 'parseInt('0777')'返回'511'。 – SLaks 2011-04-18 20:59:27