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

2015-12-23 15:37:56 +08:00
 zebulon

$(".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");

1888 次点击
所在节点    前端开发
5 条回复
denghongcai
2015-12-23 18:21:38 +08:00
为什么 for 不行? attr 是同步阻塞函数,不会出现在 for 里使用异步函数常见问题
aliuwr
2015-12-23 19:02:40 +08:00
$(".job-level .ce_text a").each(function(i, e) { e.href = '#tab' + (i + 1);});
zebulon
2015-12-23 21:13:58 +08:00
@aliuwr 太感谢了
zebulon
2015-12-23 21:14:36 +08:00
@denghongcai 也许是我写的不对吧
hronro
2015-12-23 21:21:03 +08:00
JS 没有块级作用域的问题,到 ES6 中可以用 let 解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/245618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX