webForumDet fria alternativet

(O)synliggöra vissa rader i tabell?

HTML & CSS

4 svar · 465 visningar · startad av aasah

Medlem sedan mars 20034 471 inlägg
Frågan#1

Jag har ett formulär som ligger i en tabell. Varje rad är förbunden med ett visst alternativ. Bara de rader som för tillfället är aktuella (vilket avgörs i en JS-funktion) har disable=false. Funktionen togglar alltså (bl.a.) disable värdet. Helst skulle jag vilja att den istället kunde användas till att slå på och av synligheten för dessa rader.

Hur gör man då? (Och vilka webbläsare funkar det i?) :q

Medlem sedan maj 200423 inlägg
#2

Funkar det inte med visibility = hidden i stilmallen? Ex:

table tr.hideRow {
   visibility: hidden;
}

Eller om du vill ha det med javascript funkar väl:

document.radensID.visible = False;
Medlem sedan mars 20034 471 inlägg
#3

m-blo skrev:

Funkar det inte med visibility = hidden i stilmallen? Ex:

table tr.hideRow {
   visibility: hidden;
}

Hur slår jag i så fall av och på synligheten mha JS? :q

m-blo skrev:

Eller om du vill ha det med javascript funkar väl:

document.radensID.visible = False;

Jag kanske missgörstår? Följande ger fyra prydliga rader: (Visar bara en av dem.)

<tr id="wordBoxRow3" visible="false"><td id="wordBoxPosBack">-</td>
             <td><input type="text" id="wordBoxWordBack" disabled></td>
             <td><input type="button" class="buttonColorG" id="wordBoxButtonBack" onclick="addWord(this.form, 'Back')" value="Add word back!" disabled>
                 <input type="hidden" id="wordBoxStartBack" value=""></td></tr>
Medlem sedan mars 20034 471 inlägg
#4

Hum, har just hittat M.Cheragis tråd om samma typ av problem. Då kom jag ett stort kliv framåt, men jag undrar om någon vänlig själ vill förklara mer utförligt vad som blir resultatet i andra webbläsare än IE om man låter display togglas mellan none och block.

  1. Blir det bara problem om man har colspan på raden? I så fall behöver jag inte bry mig.

  2. Annars, vad händer egentligen?

  3. Hm...

<tr id="wordBoxRow4" display="none">

döljer ingenting i IE v 5.50? :q

Jag har bara tillgång till IE och kan alltså inte prova och se. Dessutom är specialhack för IE lite över huvudet på mig, så det vore betydligt enklare om det gick utan.

Medlem sedan dec. 20042 245 inlägg
#5

1, 2: Tabellrader är bara tabellrader för att CSS-egenskapen 'display' är satt till table-row i webbläsarens stilmall. På motsvarande sätt är en DIV bara ett block (och inte inline) för att CSS-egenskapen 'display' är satt till block. Tabellrader är alltså inte 'dispaly:block' utan 'display:table-row'. Om du ändrar till block så kommer rader att bete sig som en <div> istället för en <tr>. (Man kan också göra tvärt om och göra en "tabell" av vilka elementtyper som helst.) (Detta gäller inte för IE eftersom IE saknar stöd för samtliga display-värden som har med tabeller att göra.)

3: Det borde inte hända någonting. display="" är ett okänt attribut, så det ignoreras. Du vill nog använda style="display:none" förmodar jag. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)