2012-06-22 67 views
0

我有我的HTML頁面下面的CSS:如何交換兩個班的每一個元素在一個HTML頁面

<style type="text/css"> 
    .hidden   {display:none;} 
    .visible   {display:block;} 
</style> 

而且幾乎每一個和頁面屬於一個或其他的這些CSS樣式。我需要的是將JavaScript交換爲相反的數字....即。每個隱藏變得可見,反之亦然。

我在一個早期的項目中使用了類似的東西,但它只能讓我一次交換一件東西,並迫使我直接指定它的ID。我需要的是一個全球性的「如果可見 - 改變爲隱藏 - 反之亦然」腳本。

的代碼(我嘗試和失敗擴大到有這種行爲)低於:

<script type="text/javascript"> 
    function toggle(divID) {var item = document.getElementById(divID); if (item) {item.className=(item.className=='hidden')?'visible':'hidden';}} 
</script> 

任何想法?

回答

1
<style type="text/css"> 
.hidden   {display:none;} 
.visible   {display:block;} 
.temp   {display:none;} 
</style> 

function swap() { 
$('.hidden').removeClass('hidden').addClass('temp'); 
$('.visible').removeClass('visible').addClass('hidden'); 
$('.temp').removeClass('temp').addClass('visible'); 
} 
+0

在項目中添加jquery-1.7.2.min.js之後,我試圖使用JavaScript函數我正在嘗試。它運行(在其中噴灑alert()命令以確保它窒息),但它不會做任何事情......怪異。 –

+0

Err,爲了確保它不會窒息......好的,所以我可以用它們中最好的一個來錯寫! *笑* –

+0

http://jsfiddle.net/XgqWC/ 回答更新,現在它的作品。 – manuskc

0

只需使用jQuery

$('.hidden').removeClass('.hidden').addClass('.visible'); 
+0

我希望避免增加jQuery的...但似乎我在這個問題上別無選擇。添加並嘗試使用下面的Manu代碼,我認爲這更有意義(特別是如果我在會話中多次嘗試使用它)。 –

相關問題