javascript遇到语句问题,求解答

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>document.getElementById</title>
</head>
<body>
<p id="con">JavaScript</p >
<script type="text/javascript">
var mychar=document.getElementById("con");//获取p标签
var myword=mychar.innerHTML;//获取p标签的内容

document.write("结果:"+myword); //输出获取的P标签。
mychar.innerHTML='';//清空p标签
//问题:清空p标签中将mychar.innerHTML换成变量myword为什么不能清空p的内容
//ps:初学者,给点学习建议,先谢过
</script>
</body>
</html>

阅读 2.9k
3 个回答

楼上没有弄清楚你的意思。

你应该是指「mychar.innerHTML=''」能清空p标签,而如果换成「myword=''」为什么不能清空。

这是因为myword只是一个普通的String类型变量, 你通过var myword=mychar.innerHTML 将p标签的内容赋值给myword之后,p标签跟myword之间就恩断义绝,没有关联了。所以你后面再将myword='', 已经不能作用到p标签将它清空了。

针对你提这样的问题,建议你先了解全js的变量类型,了解对象,然后再了解对象的引用的概念。这样应该就能对这个问题有比较清晰的认识了。

尽量通俗的讲了,望赞同采纳。

clipboard.png
清空了。

var mychar=document.getElementById("con");// 获取到对应的DOM对象给mychar;

mychar.innerHTML='' //设置mychar(DOM对象)的innerHTML属性值为"";

myword='' // 将DOM对象设为"",清除引用关系,此时,myword 的值未定义;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题