假设我们的标记如下:
<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:
首先,我们选择两个列表元素:
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;
}
}
你可以看到它在这里运行