<style>
    span{
        background:yellow;margin-left: 5px;border:1px solid gray; 
    }
    #big{
        width:250px;height:150px;border:1px solid gray; 
    }
    .click{
        background:red; 
    }
    .sheng{
        width:250px;height:100px;background:orange;margin-top:1px;   
    }
</style>
<script>
    $(function(){
    var length=$("p").length;
   for(var i=2;i<length;i++){
       $("p").eq(i).css("display","none");
   } 
   var sl=$("span").length;
   for(var i=0;i<sl;i++){
       $("span").eq(i).attr("index",i);
       $("span").eq(i).click(function(){
           for(var j=0;j<sl;j++){
         $("p").eq(j+1).css("display","none");
         $("span").eq(j).css("background","orange");
        }  
  
        $(this).css("background","red");
      
     var num=$(this).attr("index");    $("p").eq(num).css({"display":"block","background":"red"});  
        //为什么上一行的eq(num)里的num是整形
        //但num  +1后就不能正常显示,当num是1的时候,结果就变成了11,这是怎么回事?
       })
   }
    })
</script>
<body>
        <p id="big">
            <p>
            <span>北京</span>
            <span>广州</span>
            <span>上海</span>
            <span>深圳</span>
            <span>天津</span></p>
            <p class="sheng">北京北京北京v111111111111111</p>
            <p class="sheng">广州广州广州广州广州2222</p>
            <p class="sheng">上海上海上海上海上海</p>
            <p class="sheng">深圳深圳深圳深圳深圳</p>
            <p class="sheng">天津天津天津天津天津</p>
        </p>
    </body>
                            
                                    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
attr 取出来的并不是数字而是字符串,因此要转换:
否则,加号会被当作字符串连接
core.js+i是把i转换成整数,不然就变成字符串相加了.那为什么后面的
i不用转?所以eq传入字符串也是可以的。。