添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

请求大神指教, 如下写不累赘吗 var y=document.getElementById(x).value; document.getElementById(x).value=y.toUpperCase()

<html>

<head>

<script type="text/javascript">

function upperCase(x)

{

var y=document.getElementById(x).value

document.getElementById(x).value=y.toUpperCase()

//此处的 document.getElementById(x).value为什么不能用y代替

}

</script>

</head>

<body>

Enter your name: <input type="text" id="fname" onchange="upperCase(this.id)">

</body>

</html>


原因:因为y=document.getElementById(x).value中的=表示的是赋值;

解释:

1、把document.getElementById(x).value的值赋给y但并不是说变量y就能代表document.getElementById(x).value;

2、按照之前的课程里讲的变量只是容器,你放进容器里的东西并不能代表容器本身(水不能代表杯子);

3、document.getElementById(x).value=y.toUpperCase()的意思是说把y转换成大写字母,再把这个转换后的值赋给document.getElementById(x).value,这时候document.getElementById(x).value原来的值就被重写覆盖了,变成转换后的值了;

4、如果把document.getElementById(x).value=y.toUpperCase()换成y=y.toUpperCase(),那就是重写覆盖掉y的值,但是document.getElementById(x).value的值还是没有变;

5、所以如果你将这里的document.getElementById(x).value换成y的话,那你还得再赋值一次把y的值再赋给document.getElementById(x).value来重写覆盖掉它原来的值。

1 回答 获取下拉框的值document.getElementById().value和document.getElementById().options[document.getElementById().selectedIndex].value有什么区别吗?

3 回答 function checkone(){ var j=document.getElementById(&quot;wb&quot;).value; var hobby = document.getElementById(&quot;hobby&quot;+j); hobby.checked = true; }

搜索更多本课相关问答

请求大神指教, 如下写不累赘吗 var y=document.getElementById(x).value; document.getElementById(x).value=y.toUpperCase()