У меня уже есть 3 существующих ящика на странице (divs) с уникальным идентификатором (1,2,3) каждый. Я хочу, чтобы у каждой кнопки была кнопка, которая позволяет пользователю добавлять новые поля прямо ниже. Эти поля должны соответствовать уже существующей нумерации. Тем не менее, выполнение этого также подразумевает обновление идентификаторов уже существующих ящиков под новыми, чтобы номера совпадали.javascript добавляет новые элементы с прогрессивными идентификаторами и обновляет существующие
Это мой код:
function add_box(n) {
document.getElementById("box"+(n<)).setAttribute("id", "box");
var div = document.createElement("div");
div.id="box"+(n+1);
var txt = document.createTextNode("A new box");
div.appendChild(txt);
var newbox = document.getElementById("box"+n);
insertAfter(div,newbox);
}
HTML
<div id="box1">Whatever</div><input type="button" onclick="add_box(1)">
<div id="box2">Whatever</div><input type="button" onclick="add_box(2)">
<div id="box3">Whatever</div><input type="button" onclick="add_box(3)">
Его, очевидно, не работает, потому что я думаю, мне нужно иметь массив со всеми элементами, которые содержат «окно» в ID и то как-то обновить их номера, но я не знаю, как это сделать.
спасибо.
Не размещать код, который генерирует ошибки консоли. Проверьте консоль. Затем исправьте свой синтаксис. Если вы все еще в тупике, ** THEN ** вы можете опубликовать. Если вы случайно не знаете, как просматривать консоль, то сразу подумайте, прежде чем делать что-либо еще. Кстати, почему вы сбросили идентификатор на существующие элементы? –
Что делает '' поле "+ (n <)' оценивать? Где определена функция * insertAfter *? – RobG
@ torazaburo - потому что он вставляет новые divs между существующими divs (или должен). – RobG