所以jQuery的條件語句,我在它的問題是最基本的形式:一個div內使用詮釋
<div id="total"> 0 </div>
什麼我希望用jQuery做到:
$(document).ready(function() {
if ("#total" > 2){
/*do something*/
}
});
我喜歡這種感覺應該是相對容易的事情,但語法正在逃避我。任何幫助都會非常有幫助。謝謝!
羅布
所以jQuery的條件語句,我在它的問題是最基本的形式:一個div內使用詮釋
<div id="total"> 0 </div>
什麼我希望用jQuery做到:
$(document).ready(function() {
if ("#total" > 2){
/*do something*/
}
});
我喜歡這種感覺應該是相對容易的事情,但語法正在逃避我。任何幫助都會非常有幫助。謝謝!
羅布
可以使用text
方法來獲取一個元素的文本,並parseInt
從該得到一個數字:
if(parseInt($("#total").text(), 10) > 2) {
//Do something
}
這裏有一個working example。
請注意選擇器(#total
)如何傳入jQuery($(selector)
)。在你的問題,你有正確的選擇,但它只是一個字符串,所以你if
聲明將字符串「#合計」比較數字2
$(document).ready(function() {
if (parseInt($.trim(("#total").text()),10) > 2){
/*do something*/
}
});
由於'parseInt'不關心空間,因此您不需要'trim'。 –
@JamesAllardice。正確......這是一種本能:0 –
試試這個:
$(document).ready(function() {
if (parseInt($("#total").text()) > 2){
/*do something*/
}
});
嘗試 -
if (("#total").val() > 2)
由於'#total'是一個'div'元素,它不會有'val'屬性,這是'val'返回的值。 –
不適用於div。 '.val()'方法主要用於獲取表單元素的值,例如'input','select'和'textarea' –
這應該做到這一點。
if(parseInt($('#total').text()) > 2){
//do something.
}
這是最正確的答案 – Patricia
哦好吧,太好了,非常感謝。我也很欣賞這個解釋。這可能是一個完全不同的問題,但是如果#total在任何時候都超過2,事件應該被觸發正確嗎? –
@RobErskine,不,只有在document.ready上'#total'大於2時纔會觸發此事件。 –