---
title: "Display, visa/dölja div:ar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/187421-display-visa-dölja-div-ar"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Anton_L"
published: "2011-07-13T12:36:22.000Z"
updated: "2011-07-13T13:00:49.000Z"
replies: 5
views: 1415
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/187421-display-visa-dölja-div-ar"
---

# Display, visa/dölja div:ar

## #1 — Anton_L, 2011-07-13T12:36Z

Hej!

Håller på med olika tabbar som ska visas/döljas när man klickar på en länk. Får det inte att funka som jag vill. Var kan felet dölja sig måntro?  ;)

```

<script type="text/javascript">

function info()
{
document.getElementById("info").style.display = "block";
document.getElementById("infotab").style.color = "#E8CD96";
document.getElementById("booking").style.display = "none";
document.getElementById("bokningtab").style.color = "#000";
document.getElementById("villkor").style.display = "none";
document.getElementById("villkortab").style.color = "#000";
}

						
function booking()
{
document.getElementById("villkor").style.display = "none";
document.getElementById("villkortab").style.color = "#E8CD96";
document.getElementById("booking").style.display = "block";
document.getElementById("bokningtab").style.color = "#000";
document.getElementById("info").style.display = "none";
document.getElementById("infotab").style.color = "#000";
}
	
function villkor()
{
document.getElementById("booking").style.display = "none";
document.getElementById("bokningtab").style.color = "#E8CD96";
document.getElementById("villkor").style.display = "block";
document.getElementById("villkortab").style.color = "#000";
document.getElementById("info").style.display = "none";
document.getElementById("infotab").style.color = "#000";
}

</script>
                    
                    
<div class="tabmenu">

<a href="javascript:info();">
<div class="tab" id="infotab" style="color:#000;">Info</div></a>
<a href="javascript:booking();">
<div class="tab" id="bookingtab">Bokning</div></a>
<a href="javascript:villkor();">
<div class="tab" id="villkortab">Villkor</div></a>
                                            
</div>
                        
						
<div id="info" style="display:block;" class="event">Ruta 1</div>
<div id="villkor" style="display:none;" class="event">Ruta 2</div>
<div id="booking" style="display:none;" class="event">Ruta 3</div>
```

Permalänk: https://www.webforum.nu/p/187421

## #2 — metalboy, 2011-07-13T12:49Z

> **[Anton_L skrev:](https://www.webforum.nu/p/1537273)**
>
> Får det inte att funka som jag vill.

Är för lat för att läsa igenom din kod och leka spåkärring. Vad händer och vad vill du ska hända?

Permalänk: https://www.webforum.nu/p/2280867

## #3 — Oldtimer, 2011-07-13T12:52Z

Du får nog bestämma dig för om tabben Bokning har id "bokningtab" eller "bookingtab". Du har skrivit olika i skriptet och på tabben.

Permalänk: https://www.webforum.nu/p/2280868

## #4 — Anton_L, 2011-07-13T12:54Z

> **[Oldtimer skrev:](https://www.webforum.nu/p/1537275)**
>
> Du får nog bestämma dig för om tabben Bokning har id "bokningtab" eller "bookingtab". Du har skrivit olika i skriptet och på tabben.

Tack för att du uppmärksammade det. Tab är dock bara för färgen som visar vad som är aktivt. Som det är nu visas inte ens rätt div vid klick.

EDIT: Det var visst lösningen på allt! Tack!

Permalänk: https://www.webforum.nu/p/2280869

## #5 — nitro2k01, 2011-07-13T12:56Z

I booking och villkor sätter du färgen till element. I booking() sätter du färgen på villkor och tvärtom. Dessutom har du satt färgen på ursprungstabben till #000 istället för #E8CD96.

Låt mig annars rekommendera följande struktur. Koden loopar igenom en lista med namnen på tabbarna. Om namnet matchar strängen som skickas med till funktionen så visas tabben, annars döljs den.

```
<script type="text/javascript">

function showTab(whichtab){
    // Lista över namnen på tabbarna
    var tabNames = ["info", "booking", "villkor"];

    // loopa igenom listan
    for(var i=0; i<tabNames.length; i++){
        if(whichtab == tabNames[i]){
            // Om det angivna namnet matchar listnamnet...
            document.getElementById(tabNames[i]).style.display = "block";
            document.getElementById(tabNames[i]+"tab").style.color = "#E8CD96";
        }else{
            // Om det angivna namnet inte matchar listnamnet...
            document.getElementById(tabNames[i]).style.display = "none";
            document.getElementById(tabNames[i]+"tab").style.color = "#000";
        }
    }
}
</script>
                    
                    
<div class="tabmenu">

<a href="javascript:showTab('info');">
<div class="tab" id="infotab" style="color:#E8CD96;">Info</div></a>
<a href="javascript:showTab('booking');">
<div class="tab" id="bookingtab">Bokning</div></a>
<a href="javascript:showTab('villkor');">
<div class="tab" id="villkortab">Villkor</div></a>
                                            
</div>
                        
						
<div id="info" style="display:block;" class="event">Ruta 1</div>
<div id="villkor" style="display:none;" class="event">Ruta 2</div>
<div id="booking" style="display:none;" class="event">Ruta 3</div>
```

Permalänk: https://www.webforum.nu/p/2280870

## #6 — voigtann1, 2011-07-13T13:00Z

Okej... ett inline-element (dina a-element) få inte ha ett block-element (dina div-element) om du nu skall validera din HTML kod.

Hur mycket få man ändra i din kod? 

Med jquery (tjat) så bli det så mycket enklare att manipulera dina element:
<http://jsbin.com/ojezex/3/edit>

där man bara säger vad som skall visas och döljas + sätta en CSS klass(där design borde ligga) på hur det skall se ut om man har markerat

Permalänk: https://www.webforum.nu/p/2280872

---

Tråden på webben: https://www.webforum.nu/amne/javascript/187421-display-visa-dölja-div-ar
