求教大神。。。。。。

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

qq_巴黎的雨打湿东京的街_0

2017-07-31 10:49

求大神讲解:任务三中,我想实现的是当你输入1--6里面的数,确定后,勾选正确,然后id="wb"的input文本框内返回null或者未定义,而不是停留在当前数字,这样下次输入可以不用先删除再输入,我之前是这样写的:hobby[j-1].checked = true;后面写j="";但是不行,后来改成document.getElementById("wb").value =""后就可以实现了: var j=document.getElementById("wb").value;为什么用j就不行了?

写回答 关注

4回答

  • 猪小小屁
    2017-07-31 17:52:17
    已采纳

    我这样写可以实现额,你是哪里出了问题呢?

    qq_巴黎的...

    非常感谢!

    2017-08-06 15:01:45

    共 3 条回复 >

  • 猪小小屁
    2017-08-06 18:06:07

    不管是对象,还是就是一个简单的变量,它们都是变量,换一种说法就是JS里的对象是一个比较复杂的变量,它有自己的一些属性。而它们获取值这都是一个参数传递的过程。就像C里的,参数传递,实参传形参,而不能形参传实参,属于单向传递。

  • helllovebody
    2017-08-05 21:20:24

    j不行,你应该试一试j.value=""

    helllo...

    前面那句当我没说,在javascript中,变量的定义十分的间接,不用自己声明类型,j作为你自己定义的变量,而document.getElementByName()是函数,也是一个封装,他可以作为一个对象使用,如果定义 j=document.getElementById("wb"),那么j作为一个对象,拥有自己的动作和成员,就可以使用j.value这种语法,但是定义为 documetn.getElementById("wb").value,就不是一个对象,而是成为一个value类型的变量了。我是这么理解的,如果你更改j,这个操作不会传达到"wb.value"上

    2017-08-05 21:26:41

    共 1 条回复 >

  • 究極HCJ求道者
    2017-08-02 17:11:18

    我想实现的是当你输入1--6里面的数,确定后,勾选正确,然后id="wb"的input文本框内返回null或者未定义,而不是停留在当前数字,这样下次输入可以不用先删除再输入

    其实很简单 给个if   判断 文本框的value  如下 望采纳

    function checkone(){

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

                var out = document.getElementById("wb");

             // 任务3

                var change = document.getElementById("hobby"+j);

                    change.checked = true;

                if(out.value != ""){

                     out.value = "";

                 } 

           }


    猪小小屁

    这样可以,不过在编程效率上来讲,要实现同样的功能,用最简洁的语言去实现最好了,所以就可以直接设置document.getElementById("wb").value=""即可。对了,就是直接令j=""不可以实现,上次我弄错了,可能是我把之前的代码没有刷新,而我以为是这个生效了,所以...不好意思,可能误导你了。不过,我觉得的这个问题的实质就是参数传递

    2017-08-02 23:36:32

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题

大神求教!

回答 3

求大神指教

回答 2

求大神指教

回答 3

求大神教育

回答 3