|
|
|
|
var c=0;
function AddItem() {
c++;
document.getElementById('newDiv').innerHTML+='<div id="p'+c+'" ><input type="text" name="tl[]" /><input type="text" name="tl[]" /></div>';
}
function DelItem(){
if (c!=0){
var div=document.getElementById('p'+c); // [object HTMLDivElement]
var l_div = div.lastChild;//[object HTMLParagraphElement]
div.removeChild(l_div);
c--;
}
return false;
}
//-->
</script>
<div align="right"><span class="add" onclick="return AddItem();" >Добавить поле </span><span class="add" onclick="return DelItem();" >Убрать поле </span></div>
<div id="p0" ><input type="text" name="tl[]" /><input name="tl[]" type="text" /></div>
<div id="newDiv"></div>
|
Поля добавляются а удалить <div id="pN" > не могу ..происходит удаление последнего элемента
<input name="tl[]" type="text" /> почему div.lastChild; не видит именно <div id="pN" > | |
|
|
|
|
|
|
|
для: serjinio
(17.07.2009 в 15:10)
| |
function DelItem ()
{
with (document) if (c) getElementById ('newDiv').removeChild (getElementById ('p' + c--));
}
|
| |
|
|
|
|
|
|
|
для: PAT
(17.07.2009 в 15:30)
| | PAT огромное спасибо, все запустилось, если не трудно объясните как работает эта конструкция
with (document) if (c) getElementById ('newDiv')
|
Заранее спасибо. | |
|
|
|
|
|
|
|
для: serjinio
(17.07.2009 в 16:04)
| | 1
if (c != 0) {} равнозначно if (c) {}
|
2
объект.свойство1 = значение1; тот-же_объект.свойство2 = значение2; тот-же_объект.свойство3 = значение3;
равнозначно
with (объект) {свойство1 = значение1; свойство2 = значение2; свойство3 = значение3}
|
3
что в операторе if () {}, что в with () {} - если оператор в фигурных скобках ЕДИНСТВЕННЫЙ,
то фигурные скобки можно опустить.
|
------------
Соответсвенно, из
function DelItem ()
{
if (c != 0)
{
document.getElementById ('newDiv').removeChild (document.getElementById ('p' + c));
c--;
}
}
|
получаем короткое:
function DelItem ()
{
with (document) if (c) getElementById ('newDiv').removeChild (getElementById ('p' + c--));
}
|
Здесь if () и with () вполне можно поменять местами:
function DelItem ()
{
if (c) with (document) getElementById ('newDiv').removeChild (getElementById ('p' + c--));
}
|
| |
|
|
|