<ul>
<li>abc</li>
<li>abc</li>
<li>abc</li>
<li>abc</li>
<li>abc</li>
</ul>
<script type="text/javascript">
$('li').click(function(){
   //当单击li的时候怎样获得它在ul中的索引 比如点击第一个li就alert 0  点击最后一个就alert 4
})
</script>

解决方案 »

  1.   

    $('li').click(function(){
       jQuery("li").index(jQuery(this))
    })
      

  2.   

    <script type="text/javascript" src="jquery.js">
    </script>
    <ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul>
    <script type="text/javascript">
    $('li').each(function(idx){
      $(this).click(function(){
    alert(idx)
    });   //当单击li的时候怎样获得它在ul中的索引 比如点击第一个li就alert 0  点击最后一个就alert 4
    })
    </script>
      

  3.   

    当只有一个UL的时候,上两楼的方法应该都差不多。
    但如果有多个UL的时候,上两楼的方法,肯定从第二个UL开始,都不回返回LI相对所在的UL的正确INDEX。
      

  4.   

    然后,当然隆重介绍我的方法了不是恶意竞争吧,更不是蹭分了,只是提供一个更正确的方法。
    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.js"></script><ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul>
    <ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul>
    <ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul><script type="text/javascript">
    $(document).click(function(e){
    var $obj=$(e.target);
    alert($obj.parent().find('li').index($obj));
    });
    </script>
      

  5.   

    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.js"></script><ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul>
    <ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul>
    <ul>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    <li>abc</li>
    </ul><script type="text/javascript">
    $(document).click(function(e){
    var $obj=$(e.target);
    alert($obj.parent().find('li').index($obj));
    });
    </script>
    推荐楼上的用法