zoukankan      html  css  js  c++  java
  • javascript和jquery中获取列表的索引

    网页中的图片预览一般都需要获取图片列表的索引,或则图片对应的标签的索引,以此达到点击相应的标签获取索引,显示相应的图片

      列表有很多种表达的方式,一种是

      <ul>

        <li>苹果</li>

        <li>香蕉</li>

        <li>西瓜</li>

        <li>葡萄</li>

      </ul>

      这种情况下,如果使用jquery获取<li>的索引较为简单,因为,jQuery中含有index()方法,具体实现如下:

      

    <!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" />
    <script type="text/javascript" src="../jquery.js"></script>
    </head>
    <body>
        <ul>
        <li>苹果</li>
        <li>香蕉</li>
        <li>西瓜</li>
        <li>葡萄</li>
      </ul>
        <script type="text/javascript">
            $(function(){
                $('ul li').click(function(){
                    var i = $(this).index();
                    alert(i);
                })
            })
        </script>
    </body>
    </html>

      如果直接使用原生javascript的话,此时就要主意作用域的问题,可以利用闭包来解决

    <!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" />
    </head>
    <body>
        <ul>
        <li>苹果</li>
        <li>香蕉</li>
        <li>西瓜</li>
        <li>葡萄</li>
      </ul>
        <script type="text/javascript">
            function its(){
                var uls = document.getElementsByTagName("ul");
                var lis = document.getElementsByTagName("li");
                for(var i=0;i<lis.length;i++){
                    lis[i].onclick = (function(num){
                        return function(){
                            alert(num);
                        }
                    })(i);
                }
            }
            its();
    
    
        </script>
    </body>
    </html>

    如果列表的表达方式是:

      <div id="fruit">
            <a href="#">苹果</a>
            <a href="#">香蕉</a>
            <a href="#">西瓜</a>
            <a href="#">葡萄</a>        
        </div>

      在这种情况下,使用jquery解决的方式和javascript解决的方式同第一种原理是一样的。

      欢迎指错和改进,谢谢!

  • 相关阅读:
    springboot设置Https请求
    mac OS 搭建PHP项目开发环境
    javascript SDK开发之webpack中eslint的配置
    Linux用户空间内存区域的匿名映射
    Ubuntu上架设PPPoE Server
    20060518: Alert!
    Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)
    RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法的区别
    类和对象、封装、继承、多态
    Linux命令(4):touch
  • 原文地址:https://www.cnblogs.com/zhuzhenzhen/p/4491344.html
Copyright © 2011-2022 走看看