Ich habe eine AJAX-Anwendung, die ein JSON-Objekt herunterlädt und die Daten zum Hinzufügen von Zeilen zu einer HTML <Tabelle> mit Javascript DOM-Funktionen verwendet. Es funktioniert perfekt ... außer im Internet Explorer. IE gibt keine Art von Fehler, und ich habe so gut wie ich verifiziert, dass der Code vom Browser ausgeführt wird, aber es hat einfach keinen Effekt. Ich habe diese schnelle und schmutzige Seite, das Problem zu demonstrieren:Kann nicht dynamisch zu einem <TABLE> in IE Zeilen hinzufügen?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body>
<table id="employeetable">
<tr>
<th>Name</th>
<th>Job</th>
</tr>
</table>
<script type="text/javascript">
function addEmployee(employeeName, employeeJob) {
var tableElement = document.getElementById("employeetable");
if (tableElement) {
var newRow = document.createElement("tr");
var nameCell = document.createElement("td");
var jobCell = document.createElement("td");
nameCell.appendChild(document.createTextNode(employeeName));
jobCell.appendChild(document.createTextNode(employeeJob));
newRow.appendChild(nameCell);
newRow.appendChild(jobCell);
tableElement.appendChild(newRow);
alert("code executed!");
}
}
setTimeout("addEmployee(\"Bob Smith\", \"CEO\");", 1000);
setTimeout("addEmployee(\"John Franks\", \"Vice President\");", 2000);
setTimeout("addEmployee(\"Jane Doe\", \"Director of Marketing\");", 3000);
</script>
</body></html>
Ich habe IE nicht versucht 8, aber beide IE 7 und IE 6 zeigen nicht die zusätzliche Zeilen, die angeblich hinzugefügt werden. Ich kann nicht verstehen warum. Kennt jemand eine gute Abhilfe für dieses Problem, oder mache ich vielleicht etwas falsch?
eigentlich sollte 'tableElement.getElementsByType ('tbody')' zurückgeben, was hier gewünscht wird .... –
eigentlich, sollte zurückgeben, was hier gewünscht ist –
Sorry Leute, immer noch ein bisschen neu auf den Kommentar/Antwort Syntax Unterschiede. Offensichtlich wollte Code-Style-Formatierung auf das Codefragment setzen. –