2011-11-15 28 views
2

所以jQuery的條件語句,我在它的問題是最基本的形式:一個div內使用詮釋

<div id="total"> 0 </div> 

什麼我希望用jQuery做到:

$(document).ready(function() { 
    if ("#total" > 2){ 
    /*do something*/ 
    } 
}); 

我喜歡這種感覺應該是相對容易的事情,但語法正在逃避我。任何幫助都會非常有幫助。謝謝!

羅布

回答

4

可以使用text方法來獲取一個元素的文本,並parseInt從該得到一個數字:

if(parseInt($("#total").text(), 10) > 2) { 
    //Do something 
} 

這裏有一個working example

請注意選擇器(#total)如何傳入jQuery($(selector))。在你的問題,你有正確的選擇,但它只是一個字符串,所以你if聲明將字符串「#合計」比較數字2

+0

這是最正確的答案 – Patricia

+0

哦好吧,太好了,非常感謝。我也很欣賞這個解釋。這可能是一個完全不同的問題,但是如果#total在任何時候都超過2,事件應該被觸發正確嗎? –

+0

@RobErskine,不,只有在document.ready上'#total'大於2時纔會觸發此事件。 –

0
$(document).ready(function() { 

    if (parseInt($.trim(("#total").text()),10) > 2){ 
     /*do something*/ 
    } 
}); 
+0

由於'parseInt'不關心空間,因此您不需要'trim'。 –

+0

@JamesAllardice。正確......這是一種本能:0 –

0

試試這個:

$(document).ready(function() { 
    if (parseInt($("#total").text()) > 2){ 
     /*do something*/ 
    } 
}); 
-1

嘗試 -

if (("#total").val() > 2) 
+0

由於'#total'是一個'div'元素,它不會有'val'屬性,這是'val'返回的值。 –

+0

不適用於div。 '.val()'方法主要用於獲取表單元素的值,例如'input','select'和'textarea' –

0

這應該做到這一點。

if(parseInt($('#total').text()) > 2){ 
    //do something. 
}