2012-10-12 53 views
1

所以我有一個跨度是這樣的:計算與字符串的jQuery

<span>1</span> 

現在我想要做這樣的事情(加吧)

$(this).next("span").text($(this).next("span").text + 1); 

,但它不會工作。你看到我要去的地方,對吧?我想讓字符串或變量中的數字更高一些。

我該怎麼做?

+2

你應該接受一個答案,如果你發現了一個有用的:) –

+0

我會的,我不能接受一個在5分鐘內,剛剛發佈了另外一個問題;) – imp

回答

6
$('span').html(parseInt($('span').html(),10) + 1); 

jsFiddle example

+1

朱普,工作!謝謝:) – imp

+2

@Schart如果此答案解決了您的問題,則應通過單擊向下箭頭下方的勾選標記來接受該問題。 – Daedalus

+0

@Schart:這裏要實現的主要目的是,不像PHP(我認爲你是來自於你的示例註釋中的'nexttext') - JS不會自動地將變量從文本轉換爲數字,你必須手動使用一組轉換函數,其中'parseInt()'是一個,'parseFloat()'是另一個。 – Orbling

4

嘗試使用JavaScript parseInt()函數。確保你正確地處理錯誤情況,就像有人將一個無效的整數值放入跨度一樣。

+0

我嘗試: '$ nexttext = parseInt($(this).next(「span」));'然後'$(this).next(「span」)。text($ nexttext + 1);'但它不起作用。它返回NaN – imp

+0

@Schart'$ nexttext'不包含文本,而是一個對象。這就是爲什麼它不起作用。 – Daedalus

+0

好的。感謝parseInt的東西,但它肯定會在未來幫助! :) – imp