Mam sobie początkiwo zdefiniowaną tabelę( tylko tagi TABLE i /TABLE) i chciałbym JavaScriptem utworzyć w niej komórki, czy tak się da? :)
Wydumałem coś takiego - dziwne, że innerHTML nie działa :|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<script>
function ab()
{document.getElementById("tbl").outerHTML = '<table id="tbl"><tr><td>to jest komórka tabeli</td></tr></table>';
}
</script>
</head>
<body>
<table id="tbl">
</table>
<input type="button" value="dodaj 1 pole" onclick="ab()">
</body>
</html>
Wydumałem coś takiego - dziwne, że innerHTML nie działa :|
hmmm rzeczywiscie, a pod Mozilla dziala :/ no ale za pewne wynika to z tego ze innerHTML dla DOM jest klopotliwe, poza tym, tam chyba powinno jeszcze znalezc sie gdzies TBODY, nie wiem...
Jesli chodzi o innerHTML to warto jeszcze wspomniec ze przypisywanie do tej wlasciwosci nigdy nie bylo zgodne z DOM wlasnie ze wzgledu na mozliwosc popelnienia bledow, alarmuje ze w XHTML do innerHTML juz nic sie nie da przypisac i trzeba uzywac bardziej wyrfinowanych ;) funkcji DOM aby osiagnac zamierzony efekt, przyklad:
HTML
<table><tbody id="test_tbody"></tbody></table>
JS
function addChild(name, parent) {
return parent.appendChild(document.createElement(name));
}
function addText(str, parent) {
parent.appendChild(document.createTextNode(str));
}
var test_tbody = document.getElementById('test_tbody');
var td = addChild('td', addChild('tr', test_tbody));
addText('bla bla bla bla bla bla', td);
dziwne... na IE i Operze outerHTML nie chce mi działać :| zapodam może kod, może coś spier.... ;P
document.getElementById('x').outerHTML = '<TABLE width="700" id="x"><TR><TD>komóra1</TD><TD>KOMÓRA2</TD></TR></TABLE>';
IE mi wywala mi coś o jakimś nieznanym błędzie czasu wykonywanie :| daje go po prostu na <I>onclick</I> pewnego obiektu, jestem pewien, że z tym wszystko all right, bo bez tej komendy tak właśnie jest ;P