webForumDet fria alternativet

ändra className på tr-taggen

7 svar · 318 visningar · startad av roady

roadyMedlem sedan jan. 2002473 inlägg
#1

Finns det något sätt så man kan skriva typ
<tr onmouseover="this.className='trHighlight1';" onmouseout="this.className='trNormal1';">

Alltså så att jag kan tilldela en stilmall när jag tar över o bort musen från en tr-tagg för att ändra bakrundsfärg?

icaaqMedlem sedan okt. 20005 273 inlägg
#2

För det första så ska man inte använda classer i tr-taggen och för det andra så tror jag att denna tråd http://www.webforum.nu/showthread.php?s=&postid=644106#post644106 har svaret på din fråga..

Mv icaaq

jarvkloMedlem sedan juli 20013 378 inlägg
#3

icaaq skrev:

För det första så ska man inte använda classer i tr-taggen

Hmm...
Ursäkta om jag är lite obekväm, men varför ska man inte det då - har du något konkret belägg för det ? ;)

Som jag ser det är det ju både tillåtet ( http://www.w3.org/TR/html401/struct/tables.html#edef-TR ) och praktiskt för en del ändamål som t.ex. följande ;)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Test</title>
<style type=text/css> 
<!--
table {
  width:400px;
  border-collapse:collapse;
  padding:0;
  border: 1px solid black;
}

/* I "standards mode" behövs bara regeln för klassen: */
.randad {
  background-color:navy;
  color:white;
}

/* 
Den andra regeln är en workaround för td i t.ex. MSIE5 
eller för sidor som använder sig av "quirks mode"
*/
.randad td {
  background-color:navy;
  color:white;
}
-->
</style> 
</head>
<body>
<table>
<tr><td>Ett</td></tr>
<tr><td>Två</td></tr>
<tr class="randad"><td>Tre</td></tr>
<tr class="randad"><td>Fyra</td></tr>
<tr><td>Ett</td></tr>
<tr><td>Två</td></tr>
<tr class="randad"><td>Tre</td></tr>
<tr class="randad"><td>Fyra</td></tr>
</table>
</body>
</html>

Även om man byter klass på en tagg i efterhand med Javascript, så beror ju sidans utseende ändå på hur CSS:en är skriven - eller hur ;)

icaaqMedlem sedan okt. 20005 273 inlägg
#4

Jag trodde det var en oskriven regel att man inte jobbade med klasser i tr utan gjorde allt i td. Men då har man ju lärt sig något idag med... ;)

Mv icaaq

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

Oskriven, ja... Regel, hmm..?

CheguelinMedlem sedan juli 2003303 inlägg
#6

Ja, det kan du (verkar det som) och jag förstår inte varför du inte testar dina egna förslag innan du frågar om det. Jag satt och testade saker i tron om att det inte fungerade :P

<html>
  <head>
    <title></title>
    <script type="text/javascript">
function changeClassName(object, name) {
    object.className = name;
}
    </script>
    <style type="text/css">
.empty {
    background-color: transparent;
}
.foobar {
    background-color: red;
}
    </style>
  </head>
  <body>
    <table>
      <tr onmouseover='changeClassName(this, "foobar");' onmouseout='changeClassName(this, "empty");'>
        <td>
          foo
        </td>
      </tr>
      <tr onmouseover='changeClassName(this, "foobar");' onmouseout='changeClassName(this, "empty");'>
        <td>
          bar
        </td>
      </tr>
    </table>
  </body>
</html>

Detta är förresten en DHTML-relaterad fråga och bör därför flyttas till rätt forum.

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Detta är förresten en DHTML-relaterad fråga och bör därför flyttas till rätt forum.

Använd gärna funktionen Rapportera till moderatorn för detta ändamål. ;)

Tråden flyttas från HTML-forumet.

roadyMedlem sedan jan. 2002473 inlägg
#8

haha.. måste be om ursäkt, måste nog varit lite slut i huvudet, för det är som du skriver Cheguelin, det jag postade först funkar ju *vilken miss*

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)