V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zebulon
V2EX  ›  前端开发

我尝试用 for 循环来简化这个却只能出现最后计算的数值,有没有办法能简化这段代码

  •  
  •   zebulon · 2015-12-23 15:37:56 +08:00 · 1997 次点击
    这是一个创建于 3245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    $(".job-level .ce_text a:eq(0)").attr("href","#tab1");
    $(".job-level .ce_text a:eq(1)").attr("href","#tab2");
    $(".job-level .ce_text a:eq(2)").attr("href","#tab3");
    $(".job-level .ce_text a:eq(3)").attr("href","#tab4");
    $(".job-level .ce_text a:eq(4)").attr("href","#tab5");
    $(".job-level .ce_text a:eq(5)").attr("href","#tab6");
    $(".job-level .ce_text a:eq(6)").attr("href","#tab7");
    $(".job-level .ce_text a:eq(7)").attr("href","#tab8");
    $(".job-level .ce_text a:eq(8)").attr("href","#tab9");
    $(".job-level .ce_text a:eq(9)").attr("href","#tab10");
    $(".job-level .ce_text a:eq(10)").attr("href","#tab11");
    $(".job-level .ce_text a:eq(11)").attr("href","#tab12");
    $(".job-level .ce_text a:eq(12)").attr("href","#tab13");
    $(".job-level .ce_text a:eq(13)").attr("href","#tab14");
    $(".job-level .ce_text a:eq(14)").attr("href","#tab15");

    5 条回复    2015-12-23 21:21:03 +08:00
    denghongcai
        1
    denghongcai  
       2015-12-23 18:21:38 +08:00
    为什么 for 不行? attr 是同步阻塞函数,不会出现在 for 里使用异步函数常见问题
    aliuwr
        2
    aliuwr  
       2015-12-23 19:02:40 +08:00   ❤️ 1
    $(".job-level .ce_text a").each(function(i, e) { e.href = '#tab' + (i + 1);});
    zebulon
        3
    zebulon  
    OP
       2015-12-23 21:13:58 +08:00
    @aliuwr 太感谢了
    zebulon
        4
    zebulon  
    OP
       2015-12-23 21:14:36 +08:00
    @denghongcai 也许是我写的不对吧
    hronro
        5
    hronro  
       2015-12-23 21:21:03 +08:00
    JS 没有块级作用域的问题,到 ES6 中可以用 let 解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:22 · PVG 21:22 · LAX 05:22 · JFK 08:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.