---
title: "Ändra style på alla IDn"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/82936-ändra-style-på-alla-idn"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Jacob"
published: "2003-07-28T16:07:30.000Z"
updated: "2003-07-28T17:12:17.000Z"
replies: 6
views: 303
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/82936-ändra-style-på-alla-idn"
---

# Ändra style på alla IDn

## #1 — Jacob, 2003-07-28T16:07Z

Jag vill änte en style på alla taggar som har ett visst ID:

```
		function change(id){
		var ch = document.getElementById(id);
		  if (ch.style.display=="none") {
			 ch.style.display=''
			 event.srcElement.src="img/open.gif"
		  }
		  else {
			 ch.style.display="none"
			 event.srcElement.src="img/fold.gif"
		  }
		}
```

 

Problemet är att den bara ändrar första taggen med IDt.

Hur löser man detta.

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

## #2 — Nexus86, 2003-07-28T16:11Z

Id är meningen att det ska vara unikt genom alla taggar. Man får bara använda id en gång i ett dokument. Om du använder det flera gånger följer inte din sida html-standarden. Om du vill ändra för en hel sida får du använda klasser. Vet dock inte hur man ändrar det med javascript.

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

## #3 — Jacob, 2003-07-28T16:13Z

Jag hade en tanke med getElementByName men kan kunde tydligen inte ha namn på tr taggar.

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

## #4 — Nexus86, 2003-07-28T16:14Z

Namn ska även det vara unikt.

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

## #5 — Jojoxx, 2003-07-28T16:15Z

Som sagt, id måste vara unikt. Så här kan du ändra klass-egenskaper:

```
<style type="text/css">
.foo { color: blue; }
</style>
<script type="text/javascript">
function getStyleClassByName(className){
	if(document.all){
		for(var styleSheet=0;styleSheet<document.styleSheets.length;styleSheet++){
			for(var rule=0;rule<document.styleSheets[styleSheet].rules.length;rule++){
				if(document.styleSheets[styleSheet].rules[rule].selectorText=="."+className){ return document.styleSheets[styleSheet].rules[rule]; }
			}
		}
	} else if(document.getElementById){
		for(var styleSheet=0;styleSheet<document.styleSheets.length;styleSheet++){
			for(var rule=0;rule<document.styleSheets[styleSheet].cssRules.length;rule++){
				if(document.styleSheets[styleSheet].cssRules[rule].selectorText=="."+className){ return document.styleSheets[styleSheet].cssRules[rule]; }
			}
		}
	}
	return null;
}
</script>
<span class="foo">Foo?</span> - <span class="foo">Yes, Foo!</span>
<br/>
<a href="#" onClick="getStyleClassByName('foo').style.color='green';">Grön</a>
<a href="#" onClick="getStyleClassByName('foo').style.color='blue';">Blå</a>
```

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

## #6 — Jacob, 2003-07-28T16:57Z

Det fungerar nästa som jag vill, men kan man lägga till en ny class i ett stylsheet men javascript?

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

## #7 — Jojoxx, 2003-07-28T17:12Z

Vet inte. Har aldrig funnit någon anledning att undersöka saken :) Du kan ju skapa en "tom" klass (utan egenskaper) om du inte vill sätta något speciellt som default.

```
<style type="text/css">
.foo { }
</style>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/82936-ändra-style-på-alla-idn
