nodeName为什么显示undefined?

问题是alert(ss.nodeName);应该显示sccript实际显示undefined
alert(ss.nodeType);应该显示1,实际显示undefined
alert(ss.parentNode.nodeName);应该显示body,或者head,实际上什么也没显示,总之都是与预想的不一样??????

<html>
<head>
<meta charset="utf-8">
<script src="text.js"></script>
</head>
<body>
    <script >
    ss=document.getElementsByTagName("script");
    alert(ss.nodeName);
    alert(ss.nodeType);
    alert(ss.parentNode.nodeName);
    </script>
</body>
</html>
阅读 4.6k
1 个回答

getElementsByTagName得到的是一个集合,不是一个元素,正确应如下:

<html>
<head>
<meta charset="utf-8">
<script src="text.js"></script>
</head>
<body>
    <script >
    var ss=document.getElementsByTagName("script");
    alert(ss[0].nodeName);
    alert(ss[0].nodeType);
    alert(ss[0].parentNode.nodeName);
    alert(ss[1].parentNode.nodeName);
    </script>
</body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题