var mychar= document.getElementById('con');
将上述代码也就是第11行的代码改成下面的代码
var mychar= document.getElementsByTagName('h2');
为什么原标题还有修改之后的标题都变成了Hello world?
-------------------------》分割线
语法没什么问题,我的困惑是通过Id和通过标签名称来获取节点会有什么不同么?
document.getElementsByTagName('h2')表示包含的所有tagname是H2的数组。应该是mychar[0]
你这样写效果就出来了。点击标题看效果
<h2 id="con" onclick="change()">javascript</H2>
<p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
<script type="text/javascript">
var mychar= document.getElementById("con"); ;
document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
function change(){
mychar.innerHTML="Hello world";
;} //输出修改后h2标签内容
</script>
id是唯一的,只能对应一个,而tagname对应document里所有的相同标签形成的数组
getElementsByTagName('h2')会使用指定的标签名返回所有的元素(作为一个节点列表),其中包含标题
var mychar= document.getElementById('con');(“”)括号内输入Id的名称,而不是元素节点