2012-04-17 91 views
0

我有一個CSS是要顯示的div:內聯;jQuery維護顯示內聯與div顯示/隱藏

但是,當我使用jQuery顯示/隱藏時,它將其更改爲阻止/無。

如何防止此問題並在jQuery顯示時保持內聯顯示?

+1

你可以不用'.css('display','inline')'而不是'show()'嗎? – 2012-04-17 22:01:11

+0

可能是你可以使用類和切換使用jquery – Dhiraj 2012-04-17 22:01:14

+0

@AymanSafadi可能,只是尋找這種方法的解決方案! – benhowdle89 2012-04-17 22:02:00

回答

0

你不能這樣做。

但是你根本就做的是使用

$('.your-element).css({'display':'inline'}); 

代替.show的()。

.hide()仍然可以照常使用。 現在想不出任何聰明的東西。

0

根據jQuery的docs

如果一個元素具有內嵌的顯示值,則隱藏和顯示, 它將再次被內聯顯示。

還有其他的事情嗎?

演示:http://jsfiddle.net/jtbowden/JdJFJ/

這裏是從源代碼片段:

if (display !== "none" && !jQuery._data(elem, "olddisplay")) { 
    jQuery._data(elem, "olddisplay", display); 
} 

基本上,它存儲原始display在內部數據,這是在show()恢復。類似但不同的代碼在jQuery 1.0中一直存在。

0

@ benhowdle89看來,這已經可以用jQuery。你使用什麼版本?

+0

應該沒關係,這個功能存在於1.0中。 – 2012-04-17 22:14:06

+0

謝謝你的擡頭。 – trickyzter 2012-04-17 22:15:47