为了账号安全,请及时绑定邮箱和手机立即绑定

为什么返回的nodeValue全是null

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>节点属性</title>
</head>
<body>
  <ul>
     <li>javascript</li>
     <li>HTML/CSS</li>
     <li>jQuery</li>     
  </ul>
  <input type="text" value="试试看">
   <input type="button" value="点我试试看">
    <input type="text" value="无厘头">
    <button>点我</button>
  <script type="text/javascript">
    var con=document.getElementsByTagName("li");
    for(i=0;i<con.length;i++)
    {
        document.write(con[i].nodeName+" "+con[i].nodeValue+" "+con[i].nodeType+"<br>");
    }
    var icon=document.getElementsByTagName("input");
    for(i=0;i<con.length;i++)
    {
        document.write(icon[i].nodeName+" "+icon[i].nodeValue+" "+icon[i].nodeType+"<br>");
    }
    var bcon=document.getElementsByTagName("button");
    document.write(bcon[0].nodeName+" "+bcon[0].nodeValue+" "+bcon[0].nodeType+"<br>");
    var hcon=document.getElementsByTagName("html");
    document.write(hcon[0].nodeName+" "+hcon[0].nodeValue+" "+hcon[0].nodeType+"<br>");
    var tcon=document.getElementsByTagName("title");
    document.write(tcon[0].nodeName+" "+tcon[0].nodeValue+" "+tcon[0].nodeType+"<br>");
  </script>
</body>
</html>

结果:

http://img1.sycdn.imooc.com//5dc376800001023303630341.jpg

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点

  • 每个     HTML 元素是元素节点

  • HTML     元素内的文本是文本节点

  • 每个     HTML 属性是属性节点

  • 注释是注释节点

http://img1.sycdn.imooc.com//5dc376f70001f11b04910269.jpg

正在回答

2 回答

  1. 元素节点的 nodeValue 是 undefined 或 null

边上的说明解释的这么清楚了。。。。  这三个都是元素节点

0 回复 有任何疑惑可以回复我~

参考9-7【节点属性】这一章的说明,元素节点的nodeValue是undefined或null

http://img1.sycdn.imooc.com//5dc4c4cc00017f4a03420113.jpg

html,title,li,button都是元素节点,所以nodeValue为null

想获取一个不存在的元素节点(比如<span>节点),返回的值就为undefined

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么返回的nodeValue全是null

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信