<style> li{ list-style: none;width:40px;height: 40px;text-align:center;line-height: 40px;cursor: pointer; } </style>html代碼: <ul id="uls"> <li style="b ...
<style>
li{
list-style: none;width:40px;height: 40px;text-align:center;line-height: 40px;cursor: pointer;
}
</style>
html代碼:
<ul id="uls">
<li style="background:#aaa">0</li>
<li style="background:#bbb">1</li>
<li style="background:#ccc">2</li>
<li style="background:#ddd">3</li>
</ul>
//這樣寫的話每次彈出都是最後一個值
// var lis=document.getElementsByTagName('li');
// for (var i = 0; i <=lis.length; i++) {
// lis[i].onclick = function(){
// alert(i);
// }
// };
使用閉包方法解決
//解決方法一:
var lis=document.getElementsByTagName('li');
for (var i = 0; i <=lis.length; i++) {
(function(i){
lis[i].onclick = function(){
alert(i);
}
})(i);
};
//解決方法二:
var lis=document.getElementsByTagName('li');
for (var i = 0; i <=lis.length; i++) {
lis[i].onclick = function(n){
return function(){
alert(n);
}
}(i);
};
//解決方法三(jquery):
$("ul li").click(function(){
var index = $(this).index(); //獲取索引下標 也從0開始
alert($(this).html());
});