说一个刚遇到的关于改变input.value值的问题

<input id="wb" name="wb" type="text" value="">

        <input name="ok" type="button" value="确定" onclick="checkone();">

<script>

function checkone() {

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

            c=j.value;

            e = parseInt(c);

             j.value= '';

        }

</script>

功能语句都删除了,留下最基本的问题模块。在js中 我需要点击事件触发以后,清除input的内容,但是我发现如果直接使用j=document.getElementById("wb").value;然后使j='';无法清除,但是使用alert可以看出它的值是被改变了。但是只使用以上修改过的代码,就可以实时删除,想问一下是因为定义的变量类型问题吗?不要解决方案,要深层次回答。

慕粉4118515
浏览 3317回答 1
1回答

stone310

j=document.getElementById("wb").value这么写就是把value值(基本数据类型)放到变量j里面,然后你去改变j="",只是改变了这个变量,跟document.getElementById("wb").value它没有一毛钱关系;而j=document.getElementById("wb"); 然后j.value=""就不同,这是j是这个元素(数据类型是对象),是引用的效果,因此j.value相当于document.getElementById("wb").value
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript