我正在尝试自动填充可见元素的日期范围。只要只有一个空的结束日期被填充,我的代码就可以正常工作,但是我很难理解为什么clone()方法运行了两次。
小提琴是here。
基本上他们是工作和角色。一个作业可以有很多角色,我想父作业中的角色可能有重叠的开始和结束时间,但对于这个方面不是必需的。乔布斯可以并且确实重叠开始和结束时间。代码通过查找ROLES的HTML中描述的开始和结束时间来工作,如果没有指定结束时间,则将角色结束时间填充为“CURRENT”。然后,为了填充JOB时间,它收集数组start
(var start = [])中的所有开始时间以及数组end
中的所有结束时间(var end = []) 。然后它对start
和end
进行排序,并为JOB的开头取第一个start
索引(日期),为end
取最后一个索引(日期) JOB的结束日期。不知何故,问题出在第$(this).find('>h1').after($('.workexperience time.end[datetime=' + end[end.length-1] + ']').clone());
行,因为数组似乎是正确的。
你能帮我指出我的代码中错误的正确方向吗?
per nnnnnn:
克隆之前的查询$('.workexperience time.end[datetime=' + end[end.length-1] + ']')
是:
[ 目前 , 目前 ]
[ 2012年9月 ]
[ 目前 , 目前 , 目前 , 目前 ]
[ 2006年3月 ]
[ 2002年6月 ]
变量end的查询end[end.length-1]
导致:
2012-11
2012-09
2012-11
2006-03
2002-06
答案 0 :(得分:2)
你的$('。workexperience time.end [datetime ='+ end [end.length-1] +']')正在收集所有工作,而如果我理解正确,它应该只限于当前工作:
$(this).find('time.end[datetime=' + end[end.length-1] + ']').clone()