在的jQuery,text()
是方法。方法,爲了工作,需要使用如下圖所示的括號的:
var s = $('#State option:selected').text(); // I added:()
注意:在JavaScript中,的empty string
被認爲false
。因此,對於整潔,你可以把你的代碼如下:
$('#State').on('change', function() {
var s = $('#State option:selected').text();
if(s) { // If it's true
$('#showme').fadeIn();
}
else { // If it's false
$('#showme').fadeOut();
}
});
退房你的提琴here的更新版本。
作爲替代,作爲另一個答案也正確地指出,你可以使用:
$('#showme').fadeOut(500, function() {
$(this).text(s).fadeIn(500);
});
把s
內text()
還可以檢查其狀態,因爲根據documentations
是:
將文本設置爲每個匹配元素的內容。當提供數字或布爾值時,它將被轉換爲字符串表示形式。
在你的情況,正如我上文所指出,的empty string
被認爲false
,所以它滿足了要求。
注意:在這種情況下,$('#showme')
將淡出無論如何,但如果該值true
(不爲空),它會褪色回來我不知道,如果你確實想要那個特別的影響,所以採取了。也請看this fiddle。
的第一件事工作。我不敢相信我錯過了括號! – DevShadow
在編碼它總是小事:) –