---
title: "Javascript - färg på varannan rad?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/158470-javascript-färg-på-varannan-rad"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "rundberg"
published: "2007-03-22T08:01:00.000Z"
updated: "2007-03-22T12:33:21.000Z"
replies: 15
views: 845
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/158470-javascript-färg-på-varannan-rad"
---

# Javascript - färg på varannan rad?

## #1 — rundberg, 2007-03-22T08:01Z

Jag håller på med en skoluppgift och skall göra ett script som frågar efter antal rader, och sen skriver ut dem. Scriptet har jag så att det fungerar, men uppgiften säger att jag skall göra så att varannan rad färgas rosa och varannan ljusgrå, hur fixar jag det?
Mitt script ser ut så här

```
 
<html>
<head>
<title>Inlupp_JavaScript_1D</title>

</head>

<body>

<script language="JavaScript" type="text/JavaScript">
   var text = prompt("Ange antal rader!","11");
   var tal = parseInt(text);
   for (var i = 0; i<tal; i++)
   {
      document.write(i+1 + "<br>");
   }

</script>
</body>
</html>
```

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

## #2 — headbug, 2007-03-22T08:10Z

Du måste ha något på varje rad som du kan sätta färg på. Tex kan det vara en tabell där du skriver ut en tabell-rad för varje i, eller så skriver du ut en \<div\> och sätter *en* class varannan gång och *en annan* de andra gångerna!

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

## #3 — rundberg, 2007-03-22T08:53Z

och hur skulle man kunna göra det?, är nybörjare så kan inte så mycket om detta.

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

## #4 — spango, 2007-03-22T09:28Z

Utdatan vill du ska se ut ungefär så här:

```
<div style="background-color:lightgrey">Rad 1</div>
<div style="background-color:pink">Rad 2</div>
<div style="background-color:lightgrey">Rad 3</div>
<div style="background-color:pink">Rad 4</div>
```

... istället för som det är nu, då det blir:

```
Rad 1<br />
Rad 2<br />
Rad 3<br />
Rad 4<br />
```

Du måste alltså, i varje varv i loopen, hålla reda på vad den föregående raden hade för färg och sen använda den andra färgen när du skriver ut raden, alt. räkna ut vilken färg du ska använda (utifrån variabeln *i*) i varje varv i loopen.

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

## #5 — rundberg, 2007-03-22T09:52Z

Men om man till'mpar det till det scriptet jag redan har hur blir då?, jag såg nu att jag skulle få det utskrivet i en tabell. Försökte göra två loopar där den ena skriv ut jämna tal och den andra skrev ut ojämna med misslyckades då den inte kunde synka dessa två loopar utan skrev först ut de jämna talen och sedan de ojämna.
Vilket blev fel

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

## #6 — headbug, 2007-03-22T09:57Z

Hehe, ja du, det känns lite dumt att hjälpa till med skoluppgifter, men du ska bara ha en loop. Du får hitta på något smart sätt som klurar ut huruvida du har jämna eller udda tal i loopen. Eller så skapar du en hjälpvariabel som du sätter till grey eller pink och som du kollar, använder och sätter om i varje steg. Det finns säkert fler sätt :) Men endast en loop!

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

## #7 — Blixtsystems, 2007-03-22T10:18Z

Ett litet tips:

if(i%2)

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

## #8 — headbug, 2007-03-22T10:41Z

Annars kan du fråga Rickard, han verkar vara klar med uppgiften, går han i din klass?

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

## #9 — rundberg, 2007-03-22T10:55Z

Hmm, nää det gör han inte. Borde jag inte kunna göra så här? 

```
<script language="JavaScript" type="text/JavaScript">
   var text = prompt("Ange antal rader!","11");
   var tal = parseInt(text);
   for (i = 0; i<tal; i++)
   if (i%2)
   {
      document.write('<table border="1"><tr><td>');
      document.write(i+1 + "<br>");
	  document.write('</td></tr></table>');
   }
  else {
      document.write('<table border="1"><tr><td color="yellow">');
      document.write(i+1 + "<br>");
	  document.write('</td></tr></table>');
   }
</script>
```

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

## #10 — rundberg, 2007-03-22T10:56Z

för att få olika färg på varannan tabell rad?

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

## #11 — Blixtsystems, 2007-03-22T11:04Z

Det är "bgcolor" för att sätta färg på en tabellcell...ändrar  du det borde det funka.

Själv tycker jag väl att div lösningen är lite snyggare, och det finns ingen anleding att upprepa alla tre rader i båda if delarna.
Finns väl lika många lösningar som utvecklare...men så här skulle jag nog göra:

```
var text = prompt("Ange antal rader!","11");
var tal = parseInt(text);
var style;
for (var i = 0; i<tal; i++)
{
   if(i%2){
style="<div style='background-color:lightblue'>";
} else {
style="<div style='background-color:pink'>";
}
   document.write(style + (i+1) + "</div>");
}
```

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

## #12 — spango, 2007-03-22T11:21Z

Ett litet tips som är bra när man håller på med javascript som genererar HTML-kod på webbsidor... om man vill veta exakt hur den genererade HTML-koden ser ut, kan man (i Firefox) markera texten och välja "View selection sourde", så ser man det som skrivits ut av t.ex. document.write.

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

## #13 — colione, 2007-03-22T11:42Z

Jag hade valt att göra såhär: 

```
<script language="javascript" type="text/javascript">
var tal = parseInt(prompt("Ange antal rader!","11"));
var style = "";
for (var i = 0; i<tal; i++)
{
  color = (i%2) ? "lightblue":"pink"
	style+="<div style='background-color:"+color+"'>"+ (i+1) +"</div>";
}
document.write(style)
</script>
```

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

## #14 — rundberg, 2007-03-22T12:07Z

Tack det funkade. En annan fråga bara!, vilken onClick funktion skall man använda för att sända information som matats in i ett form fält, till en text ruta?

```
<html>
<head>
<title>Inlupp 2a javascript</title>
</head>

<body>
<script>
var namn
namn = namn
</script>
<form name="namnscript">
<input type="text" value="namn">
<button onClick="document.forms[0].text">Klicka här</button><br>
<textarea name="text" rows="5" cols="20"></textarea>
</form>
</body>
</html>
```

Jag vill alltså få det namn man skriver i formuläret att visa sig i textrutan nedanför.

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

## #15 — colione, 2007-03-22T12:25Z

Du kan ju inte be om hjälp med alla skoluppgifter du har. Du måste ju dessutom kounna ta hjälp av din handledare? Du verkar inte ens ha baskunskaper i javascript. Försök lära dig, är det en skoluppgift är ju poängen att du ska LÄRA dig, inte att vi ska göra dem åt dig. läs igenom nedanstående länk: <http://www.quirksmode.org/js/forms.html>

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

## #16 — rundberg, 2007-03-22T12:33Z

Jo jag vet att meningen med skoluppgifter är att jag skall lära mig, och det gör jag då jag på förra frågan fick ett tips, sen satt jag och höll på att klura med det i nån timme. 

Jag sitter och studerar i Österrike, min lärare sitter i Stockholm vilket gör att när jag skall fråga henna något (Över mail), så måste hin först och främst vara uppkopplad mot mailklienten vi använder, är hon inte det kan det ta sin lilla tid att få svar. Därför frågar jag här eftersom man brukar få hjälp med att lösa problem man har relativt snabbt.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/158470-javascript-färg-på-varannan-rad
