<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>this</title> </head> <script type="text/javascript" src="jquery.1.9.0.min.js"></script> <style type="text/css"> li{ line-height:35px; height:35px; } </style> <body> <ul> <li>1111111111</li> <li>2222222</li> <li>33333333</li> </ul> </body> </html> <script type="text/javascript"> $("li").click(function(){ var oIndex=$(this).index(); a(oIndex); }) function a(oIndex){ setTimeout(function(){ alert(oIndex) },1000) } </script>
ps: 上面的这样找的时候,就会找不准。 解决办法是 获取当前 索引值 的时候, 重新定义一下。
<script type="text/javascript"> $("li").click(function(){ var oIndex=$(this).index(); var i=oIndex;//重新定义 a(i); }) function a(i){ setTimeout(function(){ alert(i) },1000) } </script>
第二种方法:
<script type="text/javascript"> $("li").click(function(){ var i=$(this).index(); //var i=oIndex; (function(a){ //用立即执行解决 setTimeout(function(){ alert(a) },1000) })(i) }) </script>
//立即执行规则
(function(a) { setTimeout(function() { console.log(a); }, 1000); })(i);
// 点击事件 调用一个方法 传递this 第一种方法
$("li").click(function(e){ a(e); }) function a(e){ var index= $(e.target).index(); alert(index); }
// 点击事件 调用一个方法 传递this 第二种方法,此方法是为了。动态加载过来的数据,绑定不上点击事件 ,
在HMTL 绑定事件。
// 代码如下
<li onClick="a(this)"> 点我 </li>
// js部分
function a(othis){
var index = $(othis).index();
}