问答详情
源自:3-3 innerHTML 属性

​为什么原标题还有修改之后的标题都变成了Hello world?

var mychar= document.getElementById('con');

将上述代码也就是第11行的代码改成下面的代码

var mychar= document.getElementsByTagName('h2');

为什么原标题还有修改之后的标题都变成了Hello world?

-------------------------》分割线

语法没什么问题,我的困惑是通过Id和通过标签名称来获取节点会有什么不同么?

提问者:速写素 2016-07-05 10:54

个回答

  • 慕粉3648309
    2016-07-14 14:59:30
    已采纳

    document.getElementsByTagName('h2')表示包含的所有tagname是H2的数组。应该是mychar[0]

  • 大神在路上
    2016-07-14 20:56:11

    你这样写效果就出来了。点击标题看效果

    <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>


  • 慕粉3648309
    2016-07-14 15:01:01

    id是唯一的,只能对应一个,而tagname对应document里所有的相同标签形成的数组

  • 一个老王
    2016-07-05 11:29:16

    getElementsByTagName('h2')会使用指定的标签名返回所有的元素(作为一个节点列表),其中包含标题

  • 恒爷
    2016-07-05 11:16:25

    var mychar= document.getElementById('con');(“”)括号内输入Id的名称,而不是元素节点