为什么点击标题位置,弹窗是undefined

来源:9-3 getElementsByTagName()方法

qq_拉美西斯_0

2016-08-31 16:30

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<style type="text/css">

tr{text-align: center;}

</style>

<script type="text/javascript">

function sex(){

var d=document.getElementsByName("classsex")

alert(d.length);


}

function sum1(){

var f=document.getElementsByTagName("input")

alert(f.length);

}

function head1(){

var x=document.getElementById("header1").innerHTML;

alert(x.innerHTML)

}

</script>

</head>

<body>

<table border="1px" width="500px">

<tr>

<td>

学号:

</td>

<td>

<input type="text" name="classno" >

</td>

</tr>

<tr>

<td>

姓名:

</td>

<td>

<input type="text" name="classname" >

</td>

</tr>

<tr>

<td>

性别:

</td>

<td>男 

<input type="radio" name="classsex" value="man">

 

女 

<input type="radio" name="classsex" value="woman">

</td>

</tr>

<tr>

<td>

年龄:

</td>

<td>

<input type="text" name="classage" >

</td>

</tr>

<tr>

<td>

地址:

</td>

<td>

<input type="text" name="classadd" >

</td>

</tr>

</table>

<h1 id="header1" onclick="head1()">看看三种获取节点的方法?</h1>

<p>点击标题弹出它的值</p>

<input type="button" name="sex1" value ="看看name为sex的节点有几个?" onclick="sex()">

<input type="button" name="ok1" value="看看标签名为input的节点有几个?" onclick="sum1()">

</body>

</html>


写回答 关注

5回答

  • 慕村1994845
    2016-11-19 21:07:54

    你的JS代码什么鬼!

    三种获取节点的方法你好像没看明白,再仔细看下

    <script type="text/javascript">
             function getValue()
              {
                  var myH=document.getElementById("myHead") 
                  //获取id为myHead的节点,括号里不要后缀;id="myHead"就是说,括号里填myHead,记得引号
                  alert(myH.innerHTML)
              }
              function getElements()
              {
                 var myS=document.getElementsByName("sex")
                 //获取name为sex的节点,括号里不要前缀;name="sex";就是说,括号里填sex,记得引号
                  alert(myS.length);
              }
    
              function getTagElements()
              {
                  var myI=document.getElementsByTagName("input")
                  alert(myI.length);
              }
             
         </script>


  • 慕粉3951534
    2016-10-12 14:47:11
    function head1(){
    var x=document.getElementById("header1").innerHTML; // 第 1 行
    alert(x.innerHTML); // 第 2 行
    }

    这是你的 head1 函数,两个方法,要么第 1 行改成:

    var x=document.getElementById("header1");

    把括号后面的 .innerHTML 去掉。

    要么改第 2 行:

    alert(x);

    直接 alert(x),把 x 后面的 .innerHTML 去掉。

    不然你原来的代码,相当于两个 .innerHTML,你打印的是 x.innerHTML.innerHTML,肯定是 undefined。


  • 半桶水的好人
    2016-09-17 12:05:45

    后面不能有.innerHTML

  • 慕尼黑6517184
    2016-08-31 17:21:57

    function head1(){

    var x=document.getElementById("header1").innerHTML;

    alert(x.innerHTML)

    }

    没有hearder1呀!

  • imalwayshere
    2016-08-31 17:17:41
    function head1(){
        var x=document.getElementById("header1");
        alert(x.innerHTML)
    }

    你的head1函数写错了,x应该是一个对象,而不是h1的内容。正确的应该向上面这样写。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题