在jQuery代碼中,我動態地顯示和隱藏了一些內容。jquery中的hide()
if (this.hide()) {
this.show();
}
else {
alert("Hello");
this.hide();
}
但是其他部分永遠不會被執行。爲什麼?
在jQuery代碼中,我動態地顯示和隱藏了一些內容。jquery中的hide()
if (this.hide()) {
this.show();
}
else {
alert("Hello");
this.hide();
}
但是其他部分永遠不會被執行。爲什麼?
我會做這樣的事情:
if($(this).is(':hidden')) {
$(this).show();
}
else {
$(this).hide();
}
還是取決於你想要做什麼,你可以嘗試toggle()
在如果你是hidding的元素。 你應該做this.is(「:隱藏」)
你在找什麼是
this.toggle();
你永遠達不到你的「其他」條款的原因是因爲hide()
返回找到的元素選擇器(用於方法鏈接原因)。因爲它總是會返回一個有效的對象,它會永遠解析爲「truthy」,即不null, "", 0, false
等
this.hide()
正在運行的隱藏功能,沒有檢查,如果它是隱藏的,因此它是將其設置爲隱藏,然後運行this.show()
已經說過toggle()
是你想要的,因爲它爲你做了檢查,而不必爲此編碼。
在大多數情況下,我會選擇切換選項。 – Kezzer 2009-11-23 12:15:45