Я пытаюсь обменять два списка, используя только JavaScript, но любой подход, который я пытаюсь, кажется, терпит неудачу.Как поменять подписи двух списков в Javascript?
Эти два списка у меня есть:
<h3>Lists</h3>
<ul >
<li >l<sub>1 </sub>
<ul id="e1">
<li>l<sub>11</sub>-a</li>
<li>l<sub>12</sub>-b</li>
<li>l<sub>13</sub>-a</li>
<li>l<sub>14</sub>-a</li>
<li>l<sub>15</sub>-b</li>
<li>l<sub>16</sub>-b</li>
</ul>
</li>
<li >l<sub>2 </sub>
<ul id="e2">
<li>l<sub>21</sub>-b</li>
<li>l<sub>22</sub>-a</li>
<li>l<sub>23</sub>-a</li>
<li>l<sub>24</sub>-b</li>
</ul>
</li>
</ul>
<br/>
До сих пор я пытался переборе каждого списка, как так:
var temp, index;
var myFirstList = document.getElementById("e1").getElementsByName("li");
var mySecondList = document.getElementById("e2").getElementsByName("li");
for (index = 0; index < myFirstList.length; index++)
{
temp.appendChild(myFirstList.removeChild(myFirstList[0]);
}
for (index = 0; index < mySecondList.length; index++)
{
myFirstList.appendChild(mySecondList.removeChild(mySecondList[0]));
}
for (index = 0; index < temp.length; index++)
{
mySecondList.appendChild(temp.removeChild(temp[0]));
}
document.getAttribute("e1").appendChild(myFirstList);
document.getAttribute("e2").appendChild(mySecondList);
Я также попытался:
var myFirstList = document.getElementById("e1").getElementsByName("li");
var mySecondList = document.getElementById("e2").getElementsByName("li");
document.getElementById("e1").removeAttribute(("li");
document.getElementById("e2").removeAttribute(("li");
document.getAttribute("e1").appendChild(myFirstList);
document.getAttribute("e2").appendChild(mySecondList);
Ни одна из них не подменяет подписи в l1 и l2. Любые предложения будут полезны.
По сути, я хочу, чтобы элементы в списке e1 заменялись элементами в списке e2, а элементы в списке e2 заменялись списком e1. – Den
Есть ли способ для меня просто сделать это? var temp = e1.sublist, e1.sublist = e2.sublist, e2.sublist = temp. – Den