Вот пример:
<html><head>
<script type="text/javascript"><!--
function addItem(parname) {
var list = document.getElementById(parname);
var ul = list.parentNode;
var newItem = list.cloneNode(1);
newItem.setAttribute('id', 'NewId');
if (list.nextSibling.nodeType == 3) {
var nextli = list.nextSibling.nextSibling;
} else {
var nextli = list.nextSibling;
}
ul.insertBefore(newItem, nextli);
}
//--></script>
</head><body>
<ul id="prices">
<li id="kot1">
<label for="price">Primer</label>
<input type="text" class="cat" name="price" id="price" value="0.00" onChange="checkPrice(this.id)" />
<input type="button" class="addline" value=" + " onClick="addItem(this.parentNode.id);" />
</li>
</ul>
</body></html>
Все вроде работает, но проявился интересный казус:
1 шаг: Нажимаю на кнопку добавления строки, добавляется вторая строка.
2 шаг: Нажимаю на кнопку добавления у этой второй строки, ничего не происходит (???) .
3 шаг: Нажимаю на кнопку добавления у первой строки, добавляется третья строка. теперь можно нажимать на любую из кнопок добавления строки, все будет работать.
Вопрос: что происходит на втором шаге, почему не срабатывает?