老师您看一下我这种写法行不行,有没有什么问题
来源:7-9 JS对表单元素进行设置5
慕田峪2241258
2021-08-19 10:57:02
function selectYmd2(){
var yyyy = document.getElementById("yyyy");
var mm = document.getElementById("mm");
var dd = document.getElementById("dd");
var y = parseInt(yyyy.value);
var m = parseInt(mm.value);
var d = dd.length;
var day;
if (m==4 || m==6 || m==9 || m==11) {
dd.options.remove(d-1);
} else if(m==2){
for (var i=d-1;i>28;i--){
dd.options.remove(i);
day = i;
}
if((y%4==0 && y%100!=0) || y%400==0){
for (var i=d-1;i>29;i--){
dd.options.remove(i);
day = i;
}
}
}
}
2.老师remove既然是按照索引号删除内容的,那么最后一个元素的位置是不是内容的长度减1
1回答
同学你好,1、测试拼接同学的代码,并没有正确完成赋值内容,对应日期有误,比如
如下所示,4月份被设置为只有28天了

因为同学并没有在设定初始值,直接月份为4的判断条件中直接减一,这样每次单击再次减一,就会出现如上情况,而且在设置时间后,没有将length重置为0,这样就会出现之前的值再次影响结果的情况。

同学可以参考如下形式来尝试实现

2、是的,最后一个元素就是长度减一。
祝学习愉快~
相似问题