Avatar billede superraider Nybegynder
29. januar 2005 - 16:07 Der er 17 kommentarer og
1 løsning

alternativ for div

Jeg har en tabel

<tr>...<tr>
----
her vil jeg så gerne have er varierende indhold, normalt bruger jeg bare JS og innerHTML med en div. men det kan jeg ikke her da den er inde i en tabel
--
<div id='divsel'></div>
<tr>...<tr>

i divet skulle der evt. <tr><td>hej</td></tr>

håber nogen forstår hvad jeg mener, jeg skal altså bruger noget andet i stedet for div, så jeg kan ændre et row i tabellen
Avatar billede Slettet bruger
29. januar 2005 - 16:21 #1
Hvorfor skulle du ikke kunne bruge <div> inde i en tabel?
Avatar billede superraider Nybegynder
29. januar 2005 - 16:28 #2
det vil ikke virke, når den står mellem <tr></tr><div></div><tr></tr>
Avatar billede superraider Nybegynder
29. januar 2005 - 16:30 #3
function ShowCat(i)
{
    var CatHtml = "<tr><td>test</td><td>test</td><td>test</td><td>test</td><td>test</td></tr>"
    setInnerHTML(document.getElementById("TableDiv" + i), CatHtml);
   
}



<script type="text/javascript" language="javascript">
for (i in CatList){
document.write("<tr><td colspan='5' ><img onClick='ShowCat(" + i + ");' id='IconCat" + i + "' src='" + IconDir + "Icon_Right.gif'>" + CatList[i].Title + "</td></tr><div id='TableDiv" + i + "'></div>");
}
</script>
Avatar billede softspot Forsker
29. januar 2005 - 16:34 #4
Hvis din table har et id, kan du finde tabellen på samme måde som du normalt kan med div-elementerne. Når du har fat i tabellen har den nogle rækker og hver række har en celle, som kan tildeles indhold. Du kan benytte nedenstående funktion til at indsætte data i en angiven række og celle (tabellen skal have id'et "tbl"):

function insertTableContent(row, cell, content)
{
    var t = document.getElementById("tbl");
    t.children[0].rows[row].cells[cell].innerHTML = content;
}
Avatar billede superraider Nybegynder
29. januar 2005 - 16:37 #5
ja, men det er for dynamisk, så jeg kender ikke hvilke rækker som der skal smids nogen ind i
Avatar billede superraider Nybegynder
29. januar 2005 - 16:48 #6
Jeg har brugt den der måde før softspot, men jeg fant aldrig ud af hvordan man fjernede et row igen.

hvis man foreksempel ville slette row[9]
Avatar billede softspot Forsker
29. januar 2005 - 17:26 #7
Hvordan finder du ud af hvilken celle i tabellen der skal lægges data i?

Kan du så bruge denne kode (der fjerner rækker i en tabel)?

function removeRow(rowidx)
{
    var t = document.getElementById("tbl");
    var c = t.children[0].rows[rowidx-1];
    t.children[0].removeChild(c);
}
Avatar billede superraider Nybegynder
29. januar 2005 - 17:30 #8
ok

det er jo det jeg vil undgå at skulle at skulle finde den række/celle hvor dataen skal liggesn ind, da jeg vil have noget ligende et div, med id

<div id='TableDiv" + i + "'></div>  og med ><div id='TableDiv" + i + "'></div>"); så for jeg altid fat i det div der passer til det row, som jeg skal bruge
Avatar billede superraider Nybegynder
29. januar 2005 - 17:31 #9
><img onClick='ShowCat(" + i + ");' og ikke divet to gange :( sorry
Avatar billede superraider Nybegynder
29. januar 2005 - 17:39 #10
har lige fundet ud af at følgende virker

<table border=1>
<tr><td>Hej</td></tr>
<div><tr><td>Hej</td></tr></div>
<tr><td>Hej</td></tr>
</table>

så der må være en fejl et andet sted.
Avatar billede softspot Forsker
29. januar 2005 - 17:39 #11
hmmm... jeg forstår desværre ikke hvorfor du ikke kan bare kan tildele den celle i tabellen, du gerne vil ændre, et id. Så kan du på samme måde som med dit div der har et id, finde cellen og modificere dens indhold.

Jeg kan desværre ikke gennemskue den udfordring du står overfor, så med mindre du vil kaste dig ud i en lidt mere overordnet beskrivelse af hvad det er du vil løse, så tror jeg ikke jeg kan hjælpe dig. Sorry...
Avatar billede softspot Forsker
29. januar 2005 - 17:44 #12
Jeg tror altså ikke du kan blande andre elementer ind i tabel-hierarkiet end dem der må bruges i en table (table,tr,th,td,thead,tbody,tfoot). Alt andet vil blive opfattet som ugyldig html og give et uforudsigeligt resultat...
Avatar billede softspot Forsker
29. januar 2005 - 17:45 #13
Du kan dog tildele rækken et id og finde det på sammen måde som div'et (men det er sikkert heller ikke det du vil, eller hvad?)...
Avatar billede softspot Forsker
29. januar 2005 - 17:47 #14
Men hvis du griber fat i en række tror jeg bare ikke du kan ændre hele rækkens HTML-indhold med innerHTML, men så har du i det mindste rækkeobjektet at arbejde videre med (selvom det nok ikke er ligeså let at arbejde med som et div-element...).
Avatar billede superraider Nybegynder
29. januar 2005 - 17:59 #15
nej, det bliver alt for kryptisk at skulle lave funktioner til at beregne hvilken række jeg gerne vil smide nogen ind i, har forsøgt. Men man kan godt bruge dette,


<table border=1>
<tr><td>Hej</td></tr>
<div><tr><td>Hej</td></tr></div>
<tr><td>Hej</td></tr>
</table>


men man kan ikke ændre i divet, så jeg lader det stå til nogle der lidt klogere, og hæver pointene lidt.

Problem: Jeg kan ikke ændre indholdet af divet med innerhtml af divet
Avatar billede softspot Forsker
29. januar 2005 - 18:13 #16
Ja, det lader til at du er urokkelig og ganske lukket overfor alternativer, så jeg vil checke ud af denne tråd og overlade den til folk med en højre intelligenskvotient end jeg tilsyneladende besidder... Held og lykke.
Avatar billede superraider Nybegynder
29. januar 2005 - 18:30 #17
jeg vil rokke mig, men jeg kan ikke lave et sådan system. jeg kan da let komme med opgaven, så kan du da skrive det.

Der er ingen grund til at fyre sådan en afslutning af.
Avatar billede superraider Nybegynder
29. januar 2005 - 18:41 #18
Jeg løser det på en anden måde:

<table border="0" cellpadding="0" cellspacing="0">
<tr><td width="30px">&nbsp;</td><td width="250px">Catagories</td><td width="70px">Topics</td><td width="70px">Posts</td><td width="150px">Last Post</td></tr>
<tr><td colspan="5">
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td width="30px">&nbsp;</td><td width="250px">Catagories</td><td width="70px">Topics</td><td width="70px">Posts</td><td width="150px">Last Post</td></tr>
</table>
</div></td></tr>
<tr><td width="30px">&nbsp;</td><td width="250px">Catagories</td><td width="70px">Topics</td><td width="70px">Posts</td><td width="150px">Last Post</td></tr>
</table>


Så kan jeg styre indholdet med en div, som jeg ville i første omgang.
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