Avatar billede googolplex Novice
02. september 2004 - 17:08 Der er 11 kommentarer og
2 løsninger

<td> som link

Hvordan får jeg jeg en celle <td> til at virke som et link, kan det gøres i CSS eller skal jeg bruge JavaScript ?
Avatar billede krydset Nybegynder
02. september 2004 - 17:10 #1
<td><a href="test.html">Test link</a></td>
Avatar billede combay Nybegynder
02. september 2004 - 17:15 #2
<a href='URL'><td>CONTENT</td></a>
Avatar billede roenving Novice
02. september 2004 - 17:18 #3
>>combay

-- det er ulovlig nesting, og vil give fejl i de fleste browsere ...

-- hvis du vil bruge css, skal du f.eks.

td a{
  display:block;
}

-- og så bruge krydsets ...

-- ellers kan du også sætte javascript i td-tagget:

<td style="cursor:pointer;" onclick="location.href='denAndenSide.html'">
Avatar billede googolplex Novice
02. september 2004 - 17:32 #4
Den sidste løsning virker perfekt, jeg forstår ikke helt den anden løsning ?

Lige nu har jeg:

td.cell
{
    background-color: #eeeeee;
    border: 1px solid black;
    cursor: pointer;
    height: auto;
    text-align: center;
    width: auto;
}

<td class="cell" onclick="location.href='#'">&nbsp;</td>
Avatar billede googolplex Novice
02. september 2004 - 17:32 #5
Ja, det altså den første løsning jeg ikke forstår :P
Avatar billede roenving Novice
02. september 2004 - 18:08 #6
Ved at gøre a-tags inde i tabelceller til block-elementer, vil de dække hele cellen, så det ikke kun er over den viste tekst, at linket virker ...

-- og så kan du bruge den, krydset viste:

<td style="width:300px;"><a href="test.html">Test link</a></td>

Velbekomme '-)
Avatar billede googolplex Novice
02. september 2004 - 18:30 #7
Problemet med CSS løsningen er bare, at linket kun aktiveres hvis jeg trykker på teksten. Hvis jeg trykker på resten af cellen sker der intet (selvom der godt nok kommer en pointer):

http://test.googolplex.dk/booking/bookingtemplate.php

Test
Avatar billede knudgert Nybegynder
02. september 2004 - 19:04 #8
Fordi du ikke har sat display: block på.
Sådan:
td.cell
{
    background-color: #eeeeee;
    border: 1px solid black;
    text-align: center;
    width: 85px;
    display: block
    }
cursor: pointer er overflødig, da det er et link.
Avatar billede googolplex Novice
02. september 2004 - 19:33 #9
Jeg har sat display: block; på td.a, det virker som beskrevet. Hvis jeg gør som du siger, går det helt i ged :(

http://test.googolplex.dk/booking/bookingtemplate.php
Avatar billede knudgert Nybegynder
02. september 2004 - 20:09 #10
Fordi du ikke bruger et alm. link, det er det du skal ikke onclick (lagde ikke mærke til om du også brugte onclick før)
Linket skal være <a href="href='http://test.googolplex.dk/booking/test?a=1&b=2">Test</a> som bl.a. Roenving også skrev.
Avatar billede roenving Novice
03. september 2004 - 00:49 #11
>>googolplex 02/09-2004 19:33:15

-- ser jeg ikke et lille forræderisk punktum mellem td og a ?-)

Det _skal_ være et mellemrum, og så kan du jo lige prøve at se virkningen:

<style type="text/css">
td a{
  display:block;
}
</style>
<table border="1"><tr>
<td style="width:300px;"><a href="java script:alert('hej')">Test link</a></td>
</tr></table>
Avatar billede googolplex Novice
03. september 2004 - 08:14 #12
Ahh, det havde jeg ikke set, hvad er forskellen på de to, er det en sub-selector eller ?
Avatar billede roenving Novice
07. september 2004 - 02:03 #13
Et mellemrum i en selektor betyder at den anden i rækken skal være efterkommer af den første, så 'td a' betyder et hvilketsomhelst link, som ligger i en tabelcelle !-)

-- og det påvirker således ikke links, som ikke ligger i links ...

-- og 'sub-selektor' dækker ganske udmærket !o]

http://www.w3.org/TR/REC-CSS2/selector.html
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester