undefined is not a function
Доброго времени суток! Предполагаю, мой вопрос окажется странным.
Пишу один из первых скриптов, в конечном итоге должна создаваться таблица с заданным количеством строк и столбцов. На данном этапе разработки в консоли браузеров появляется ошибка (сабж).
<html>
<head>
<title>Создание таблиц | Javascript</title>
<meta charset="utf-8" />
</head>
<body>
<input type="submit" value="Create" name="create" onclick="create_table()" />
<script language="JavaScript" type="text/javascript">
function create_table() {
var x = document.createElement('table');
x.setattribute("border", "1");
var row = table.insertRow(2);
var cell = row.insertCell(1);
cell.innerHTML = 'Ячейка';
document.body.appendChild(table);
}
</script>
</body>
</html>
Прошу помощи :) |
|
x.setattribute("border", "1");
setAttribute - размер имеет значение. var row = table.insertRow(2); Что за table? Если имеется ввиду новосозданная таблица x, то то как в нее можно вставить строку с индексом 2? var cell = row.insertCell(1); Тоже самое, что и со строкой - откуда в пустой строке возьмется ячейка с индексом 1? |
jsnb,
невнимательно читал инструкции, преодполагал, что 2 и 1 - не показатели индекса, а показатели количества строк и ячеек. исправил код, все равно не работает пока:
<script language="JavaScript" type="text/javascript">
function create_control() {
var table = document.createElement('table');
table.setAttribute("border", "1");
var row = table.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = 'Ячейка';
document.body.appendChild('table');
}
</script>
|
document.body.appendChild('table');
Тут кавычки не нужны. Пиши так: document.body.appendChild(table); Кстати, если у insertRow и insertCell указать индексом -1, то строка/ячейка будут вставлены в конец т.е. после последней строки/ячейки. |
Доделал. Может быть, кому-нибудь сгодится:
<html>
<head>
<title>Создание таблиц | Javascript</title>
<meta charset="utf-8" />
</head>
<body>
<p>
Количество строк: <input type="number" value="Количество строк" id="rows_numb" min="0"/>
Количество столбцов: <input type="number" value="Количество строк" id="cells_numb" min="0"/>
Класс таблицы: <input type="text" id="table_class"/>
<input type="submit" onclick="create_control()" />
</p>
<script language="JavaScript" type="text/javascript">
function create_control() {
var table = document.createElement('table');
var tclass = document.getElementById('table_class').value;
table.setAttribute('class', tclass);
table.setAttribute('border', '1');
var x = document.getElementById('rows_numb').value;
var y = document.getElementById('cells_numb').value
for (var n = 0; n < x; n++) {
var row = table.insertRow(-1);
for (var m = 0; m < y; m++) {
var cell = row.insertCell(-1);
cell.innerHTML = '#' + m;
}
}
document.body.appendChild(table);
}
</script>
</body>
</html>
Программа, которая генерирует таблицу с заданными классом, количеством строк и столбцов; каждая ячейка имеет свой порядковый номер. |
| Часовой пояс GMT +3, время: 07:35. |