マークアップが次のようになっているとします。
<div>
<ul id='list-1'>
<li>Hi</li>
<li>Hello</li>
</ul>
</div>
<div>
<ul id='list-2'>
<li>Thanks,</li>
<li>Welcome</li>
</ul>
</div>
そして、次の JavaScript があります。
まず、2 つのリスト要素を選択します。
var listOne = document.getElementById('list-1')
,listTwo = document.getElementById('list-2');
次に、これらの要素の子でリスト アイテムを探します。
var listOneItems = listOne.getElementsByTagName('li') //returns an array
,listTwoItems = listTwo.getElementsByTagName('li');
次に、最初のリストのリスト アイテムをクリックしたときに実行するアクションを設定します。
for(var i=0; i<listOneItems.length; i++){
/*we use swap.call so that the function is in the context of this
list item*/
listOneItems[i].onclick = swap.call(listOneItems[i], i);
}
swap
次に、関数を定義する必要があります。
/*this function returns the listener for the element, using a closure
to bind the correct elements*/
function swap(i){
var elem = this;
return function(){
listTwoItems[i].innerHTML = elem.innerHTML;
}
}
ここで実行されているのを見ることができます