第一个“同学代码”的问题

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

慕圣9424722

2017-08-20 20:22

最后一个效果他为什么要这样写?

 for(var i=0;i<j.length;i++)  这一段中此时的j不是数组,怎么要写i<j.length;

if else就可以实现了,他这个for语句我觉得是错的,你们觉得呢?还是我搞错了?




function checkone(){

            clearall();

            var hobby = document.getElementsByName("hobby");

            var j=document.getElementById("wb").value;

            for(var i=0;i<j.length;i++){

                if(j.charAt(i)>6 || j.charAt(i)<1){

                    alert("越界,请重新输入!");

                    document.getElementById("wb").value="";

                }

            }

                for(var n=0;n<j.length;n++){

                        hobby[(j.charAt(n))-1].checked=true; 

                }

        }


写回答 关注

3回答

  • 我要SSR
    2017-08-22 11:30:32
    已采纳

    很怪。。。明明很简单的问题偏偏要炫技,绕。。。这个for就是来捣乱的,i<j.length这是什么鬼?我tm输个两位数你是不是也要弹两次警告框。。。而且你确定这能运行正确???

    慕圣9424...

    我找不到这题是哪个章节的了,当时虽然没有运行过他的代码,他的代码是赞最多的,但我觉得for有问题,所以很疑惑他要是错误的为什么会有这么多赞~

    2017-08-22 16:54:56

    共 2 条回复 >

  • 撒手没__
    2017-08-20 21:52:57

    j.length获取的是字符串长度吧 

    慕圣9424...

    j.length如果是字符串长度,document.getElementById("wb").value是在input中输入的值,1~9的字符串长度不都是1吗?那这个循环有什么意义

    2017-08-20 22:03:21

    共 1 条回复 >

  • 慕无忌4230737
    2017-08-20 21:48:24

    我没有看出来wb是什么鬼,但是应该是,j获取的是一组值,所以。

    慕圣9424...

    wb是输入框的id,j不是一组值吧 var j=document.getElementById("wb").value; 获取的是输入框中的值

    2017-08-20 22:05:42

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题