Toon posts:

[js]Dynamisch tables maken in IE

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
Voor m'n site wil ik dynamisch een table maken met JavaScript, en deze in m'n pagina plaatsen, maar om de een of andere reden wil dit niet werken in IE, en wel in FF. Een forumsearch levede bitterweinig op :S

hier is m'n code (wat vereenvoudigd though):

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function CreateTable(sNaam, sAuteur, sBeschrijving, i)
{
/* sNaam, sAuteur en sBeschrijving zijn 3 strings, i is een integer (teller die ik meegeef uit de oproepende functie)*/

        //Aanmaken van m'n table zelf
    oTutTable = document.createElement("table");

        //aanmaken van een table row
       oTutTable.appendChild(createTableRow(sNaam, "Naam"));
       oTutTable.appendChild(createTableRow(sAuteur, "Auteur"));       
       oTutTable.appendChild(createTableRow(sBeschrijving, "Beschrijving"));

        //Table toevoegen in div met id "tutItem + i" (worden dynamisch een stuk of 5 van gamaakt , vandaar de +i)
    document.getElementById("tutItem" + i).appendChild(oTutTable);
}

function createTableRow(sWaarde, sItem)
{   
        //Table Row maken
    oTR = document.createElement('tr');
    
        //Table Data 1 bevat de string "Naam"
    oTD1 = document.createElement('td');
    oTD1.appendChild(document.createTextNode(sItem));
    
        //Table Data 2 bevat de eigenlijke waarde 
    oTD2 = document.createElement('td');
    oTD2.appendChild(document.createTextNode(sWaarde));
        
        oTR.appendChild(oTD1);                              
    oTR.appendChild(oTD2);
    return oTR;
}


Het vreemde is dat als ik in m'n DOM kijk, de table wel aanwezig is. maar ik zie hem niet in m'n browser.

weet iemand raad?

Verwijderd

even een snelle gok, IE heeft renderbugs daarmee, ik heb ooit zoiets gehad en opgelost door de style.display property een keer een hengst te geven (eerst op none zetten en dan op ''), dan rendert IE de boel even opnieuw

Verwijderd

Topicstarter
stomme fout van me, tbody vergeten.


moest eerst alle Table Rows nog eens in een tbody plaatsen en dan die tbody in de table plaatsen. zo werkt het wel.

(voor de geïntereseerden)
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function CreateTable(sNaam, sAuteur, sBeschrijving, i)
{
        //Aanmaken van m'n table zelf
       oTutTable = document.createElement("table");
       oTutTableBody = document.createElement("tbody");

       oTutTableBody .appendChild(createTableRow(sNaam, "Naam"));
       oTutTableBody .appendChild(createTableRow(sAuteur, "Auteur"));       
       oTutTableBody .appendChild(createTableRow(sBeschrijving, "Beschrijving"));

       oTutTable.appendChild(oTutTableBody)

        //Table toevoegen in div met id "tutItem + i" (worden dynamisch een stuk of 5 van gamaakt , vandaar de +i)
       document.getElementById("tutItem" + i).appendChild(oTutTable);
} 


mag een slotje op


P.S. het opnieuw renderen werkte jammergenoeg niet.