javascript
jQuery
PHP
#text
H
本来应该是输出两个#text的,因为x.firstChild和x.lastChild在一般的浏览器中看来都是个空白字符(因为回车换行也被认为是一个文本内容),当然如果写成以下紧凑方式:
那么它显示的才会是你想要的答案。
至于为什么最后一个是H呢,因为你的html标签写错了,本来是h5,你写成了H,所以就出现了H这个怪答案了;
你的写法,如果标签写的对话,在IE8及IE8以下的浏览器中你将会看到以下答案:
javascript
jQuery
PHP
P
H5
而不再是
javascript
jQuery
PHP
#text
#text
这可是有兼容性的了,因为在低版本的IE中会把这样的空白字符给忽略的;
x.firstChild.nodeName获取x元素的第一个子节点的名称,第一个子节点是空节点,所以名称为#text
x.lastChild.nodeName获取x元素的最后一个子节点的名称,最后一个子节点是h5,所以名称为H