|
|
|
| Здравствуйте.
состав узла
<div id="a4572" class="a_node" onclick="a_onClick(this.id)" "id_s"="1">
<img class="a_img" src="4572_1.jpg">
<p class="a_zena">11</p>
<p class="a_name">оче4572</p>
<p class="a_spitch">sss</p>
<table id="t4572" class="disp_none"><tbody>
<tr> <td>р-р</td> <td>длина</td> <td>ширина</td> <td>высота</td> <td></td> </tr>
<tr> <td>42</td> <td>28</td> <td>11</td> <td>14</td> <td>в корзину</td> </tr>
<tr> <td>43</td> <td>29</td> <td>11</td> <td>14</td> <td>в корзину</td> </tr>
<tr> <td>44</td> <td>29</td> <td>11</td> <td>15</td> <td>в корзину</td> </tr>
<tr> <td>45</td> <td>30</td> <td>11</td> <td>15</td> <td>в корзину</td> </tr>
</tbody></table>
</div>
|
по клику на нем:
function a_node_all(a_id)
{
// выбор целевого элемента
var e = document.getElementById(a_id).cloneNode(true);
//alert(e.id);
//alert('id_s='+e.getAttribute('id_s'));
e_ch = e.children;
// выбор принимающего элемента
var e_t = document.getElementById('a_all');
e_t.innerHTML = '';
alert(e_ch.length); // выводит 5
// перебираем и меняем классы у потомков; вставляем потомков в принимающий элемент
for (var i = 0; i < e_ch.length; i++)
{
e_ch[i].className += '_all';
alert('i='+i); // выводит 0,1,2
alert(e_ch[i].tagName); // выводит IMG,P,TABLE
e_t.appendChild(e_ch[i]);
}
}
|
почему чертвозьми?? :( | |
|
|
|
|
|
|
|
для: btr
(03.02.2013 в 18:14)
| | вопрос снят.
оказывается, не только вставляет узел в e_t, но и удаляет e_ch[i] из e_ch, поэтому длина e_ch сокращается в процессе работы цикла.
решил так:
e_t.appendChild(e_ch[i].cloneNode(true));
|
| |
|
|
|