---
title: "Försöker få till display = 'none', löst"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/89535-försöker-få-till-display-none-löst"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Viking"
published: "2003-11-03T11:38:23.000Z"
updated: "2003-11-04T16:35:14.000Z"
replies: 3
views: 227
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/89535-försöker-få-till-display-none-löst"
---

# Försöker få till display = 'none', löst

## #1 — Viking, 2003-11-03T11:38Z

Hej, ser någon vänlig människa något fel här? Får inget felmeddelande eller så, det bara inte funkar :)

Nedan är JavaScriptet jag använder:

```
function _show(objekt){
	if(document.getElementById(objekt).style.display == 'none'){
		document.getElementById(objekt).style.display = 'inline'
	} else {
		document.getElementById(objekt).style.display = 'none'
	}
}

function _hide(){
	document.getElementById(01).style.display = 'none'
	document.getElementById(02).style.display = 'none'
	document.getElementById(03).style.display = 'none'
	document.getElementById(04).style.display = 'none'
	document.getElementById(05).style.display = 'none'
}
```

Såhär ser det ut i HTML-koden:

```
<a href="#" onclick="_hide(); _show('01');">Trafikskolan</a>
```

```
<span id="01" style="display: none;">
	<p class="rubrik">TRAFIKSKOLAN</p>
</span>
```

Det jag vill åstadkomma är alltså att jag först gömmer alla spans som syns redan, och därefter ska den som ska synas ploppa upp :) Jag är rätt säker på att jag har gjort fel i \_hide() eftersom \_show() funkar bra om jag tar bort allting som har med den andra funktionen att göra.

**R**: Kom på att jag glömt en massa ' runt ID-numren i \_hide()  :e  :e  :e

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

## #2 — Jesper T, 2003-11-03T12:09Z

Tror inte ett id´t kan börja med en siffra.

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

## #3 — dectgap, 2003-11-03T12:10Z

Även om du fick rätt på just det finns det lite annat att kommentera:

Ett id får inte börja på en siffra.
Ett inline-element (\<span\>) kan inte innehålla ett blocklevelelement (\<p\>).

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

## #4 — nitro2k01, 2003-11-04T16:35Z

Din kod verkar lite onödigt oorganiserad. Följande kod är nog precis vad du vill ha, fast enklare.

Javascript:

```
 
<script>
function _show(objektnummer){
	// Byt ut i<=6 mot rätt antal objekt
	for (i=1;i<=6;i++){
		if(i==objektnummer)
			document.getElementById("rub" + i).style.display = 'inline'
		else
			document.getElementById("rub" + i).style.display = 'none'
	}
}

function _hide(){
	/* Du behöver inte anropa denna funktion varje gång du använder _show,
	utan bara när du av någon anledning vill dölja alla textsnuttar! */
	_show(0);
}
</script>
```

 
HTML:

```
 
<a href="#" onclick="_show(1);">Trafikskolan</a>
<a href="#" onclick="_show(2);">2</a>
<a href="#" onclick="_show(3);">3</a>

<br /><br />
Observera att det står "rubx" i ID!
<br />
<span id="rub1" style="display: none;" class="rubrik">
	TRAFIKSKOLAN
</span>
<span id="rub2" style="display: none;" class="rubrik">
	2
</span>
<span id="rub3" style="display: none;" class="rubrik">
	3
</span>
```

 

Istället för att ändra trådens titel till "löst" bör du klicka på knappen acceptera som slutgiltigt svar som finns bredvid varje svar...

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/89535-försöker-få-till-display-none-löst
