Вы можете использовать переменную для хранения номера элемента div
и затем увеличивать его соответствующим образом. (Здесь я предполагаю, что есть только div2
и div3
)
Поскольку вы не упомянули, как значение div1
будет обновляться. Я делаю это вручную, используя $('#div1').html("New Value");
внутри функции add()
.
<html>
<body>
<body>
<div id="div1">
<p>Hello world</p>
</div>
<button onclick="add()">Copy</button>
<div id="div2"><p>div1 Placeholder</p></div>
<div id="div3"><p>div2 Placeholder</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var n = 2;
function add(){
$('#div'+n).html($('#div1').html());
$('#div1').html("<p>New Value</p>");
n++;
}
</script>
</body>
</html>
Попробуйте запустить фрагмент. Нажав на кнопку один раз, вы установите значение div1
в div2
, а затем измените исходное содержимое div1
на New Value
. Опять же, если вы нажмете кнопку, новое значение div1
, т.е. New Value
будет установлено в div3
.
Хотя это также попытается обновить div1
снова до New Value
, что не изменится. Было бы лучше, если бы вы написали некоторые другие способы обновления элемента div1
.
Позаботьтесь о теге <p>
, если хотите, чтобы он был сохранен. Ну, это также зависит от того, как вы обновите значение div1
.
Для добавления вы можете использовать $('#div'+n).append($('#div1').html());