30. august 2007 - 16:50
Der er
8 kommentarer og 1 løsning
DOM i FF ikke i IE ?
<table cellpadding="2" cellspacing="0" id="callcenterdata"> </table> <script type="text/javascript"> function generateCallcenter(){ var topTr; topTr = document.createElement("tr"); var td1; td1 = document.createElement("td"); td1.className = 'show_td'; td1.width = "100"; var td1text; td1text = document.createTextNode("Nummer"); td1.appendChild(td1text); topTr.appendChild(td1); var td2; td2 = document.createElement("td"); td2.className = 'show_td'; td2.width = "150"; var td2text; td2text = document.createTextNode("Navn"); td2.appendChild(td2text); topTr.appendChild(td2); var td3; td3 = document.createElement("td"); td3.className = 'show_td'; td3.width = "100"; var td3text; td3text = document.createTextNode("E-mail"); td3.appendChild(td3text); topTr.appendChild(td3); document.getElementById("callcenterdata").appendChild(topTr); } generateCallcenter(); </script>
Annonceindlæg fra Infor
30. august 2007 - 17:52
#1
Ok?
30. august 2007 - 18:04
#2
Hehe..,! Sorry,. Teksten manglede li.. Koden virker i FF men ikke i IE .. Kan nogen se hvad grunden til dette er?
30. august 2007 - 18:39
#3
<ole> Et table-element kan ikke have tr-elementer som børn. tr-elementer skal appendes til et thead-, tbody- eller tfoot-element. Selvom du sjusker i din daglige kode, indskriver browseren altid et tbody-element, hvis det er udeladt ;o) /mvh </bole>
30. august 2007 - 18:45
#4
- og så ville jeg bytte lidt om på rækkefølgen og brugt styles i stedet for HTML-attributter til cellernes bredder: <table cellpadding="2" cellspacing="0"> <tbody id="callcenterdata"></tbody> </table> <script type="text/javascript"> function generateCallcenter(){ var topTr; topTr = document.createElement("tr"); document.getElementById("callcenterdata").appendChild(topTr); var td1; td1 = document.createElement("td"); topTr.appendChild(td1); td1.className = 'show_td'; td1.style.width = "100px"; var td1text; td1text = document.createTextNode("Nummer"); td1.appendChild(td1text); var td2; td2 = document.createElement("td"); topTr.appendChild(td2); td2.className = 'show_td'; td2.style.width = "150px"; var td2text; td2text = document.createTextNode("Navn"); td2.appendChild(td2text); var td3; td3 = document.createElement("td"); topTr.appendChild(td3); td3.className = 'show_td'; td3.style.width = "100px"; var td3text; td3text = document.createTextNode("E-mail"); td3.appendChild(td3text); } generateCallcenter(); </script>
31. august 2007 - 09:03
#5
Perfekt... Du for sej :D.. Du vi er igang, kan du så fortælle mig hvorfor dette ikke virker i IE, men virker fint i FF -> topTr.setAttribute("onclick","changeCallcenter(\"" + data[index].id + "\")");
31. august 2007 - 14:45
#6
Du kan ikke bruge setAttribute til event-handlers. Brug attachEvent i IE og addEventListener i FF: if (topTr.addEventListener) topTr.addEventListener("click", function(){changeCallcenter(data[index].id)}, false); else if (topTr.attachEvent) topTr.attachEvent("onclick", function(){changeCallcenter(data[index].id)}); else topTr.onclick = function(){changeCallcenter(data[index].id)};
31. august 2007 - 14:46
#7
- og addEventListener er i denne forbindelse den standardiserede, valide metode :)
05. september 2007 - 14:25
#8
Ok, det ka jeg ikk helt få til at virke.. .. :/ Jeg laver et loop.. Hvordan laver jeg dette, så den ikke ændre funktionen hver gang loopet køres igennem? :) På forhånd tak for hjælpen. uddrag for(index in data){ var topTr; topTr = document.createElement("tr"); topTr.style.backgroundColor = bg; topTr.style.cursor = 'pointer'; topTr.id = 'show' + data[index].id; if (topTr.addEventListener) topTr.addEventListener("click", function(){changeCallcenter(data[index].id)}, false); else if (topTr.attachEvent) topTr.attachEvent("onclick", function(){changeCallcenter(data[index].id)}); else topTr.onclick = function(){changeCallcenter(data[index].id)}; document.getElementById("callcenterdata").appendChild(topTr); }
06. september 2007 - 08:39
#9
Prøver li at åbne en ny spm med problemet.. men tak for hjælpen!
Vi tilbyder markedets bedste kurser inden for webudvikling