2013-05-15 59 views

回答

4

當調用hide()時,該元素的初始值display被存儲,當調用show()時,初始值將恢復到位。如果沒有設置初始值,則show()將設置爲display:block。因此,如果一個元素本來是display:inline,但是(比方說).css("display","none")在該元素上被調用,它將被隱藏並且不保存初始屬性。當我們show()這個元素再次它將被給予display:block - 不是它的初始值inline這就是它會給如果我們使用hide()

總結:hide()將保留原始display值準備show()使用

來源:jQuery的hide()文檔

+0

這是從哪裏來的?經驗或文檔?我很好奇。 – Luceos

+1

文件 - 更新的問題(: – George

3

有輸出沒有什麼區別,如果說被鎖,比其他的jQuery實際上將在非鏈式版執行兩次DOM查找。

在性能方面,非鏈接實際上是慢24%,如下所示:

jsperf

見我JSPerf

+0

真的,我正在消除重複查找的過程.. – trinity

+0

@trinity添加性能統計信息:) – mattytommo

+0

謝謝@mattytommo! – trinity

0

.hide

.hide()被立即觸發並且將覆蓋動畫隊列,如果 沒有持續時間或持續時間爲0被指定。

所以,如果動畫已經在隊列中,它將被刪除,然後插入.show()。對於從非存在到存在的某些動畫,它也可能有用(視覺上)。你可以把它們連在一起,這沒有什麼區別。

0

這通常會在您需要一次顯示一系列元素時出現。首先,你隱藏所有的元素,然後顯示你想要的元素。

相關問題