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

为什么取到的第一个子节点是文本属性?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<div id="con">
  <p>javascript</p>
  <div>jQuery</div>
  <h5>PHP</h5>
</div>
<script type="text/javascript">
  var x=document.getElementById("con");
        //document.write(x.firstChild.nodeName);
        document.write(x.firstChild.nodeValue);
        document.write(x.firstChild.nodeName);
        document.write(x.childNodes[0].nodeName);
        document.write(x.childNodes[0].nodeValue);
        //document.write(x.lastChild.nodeName);
        document.write(x.lastChild.nodeValue);
</script>
</body>
</html>

第一个子节点不是<p>javascript</p>吗?为什么
        document.write(x.firstChild.nodeName)==#text;
        document.write(x.firstChild.nodeValue)=="";


正在回答

3 回答

前面章节不是说了是有空白节点吗,请认真对待每一个章节

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

因为节点之间的空白符,前面章节有说过,如果你用的是火狐或者谷歌输出文本属性那肯定是无疑问的了,可能会问前面不是说,在firefox、chrome、opera、safari浏览器是文本节点吗,IE不是啊,可能老版本的IE可能会输出P,现在高版本的IE,节点间的空白符也是文本节点了,你可以测试节点个数,就知道了

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

有空白节点。。。

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

举报

0/150
提交
取消

为什么取到的第一个子节点是文本属性?

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