请问javascript节点换行符的问题?
<html>
<head>
<title></title>
</head>
<body>
<ul id="222" onclick="alert(document.body.childNodes[2].nodeName)">
<li id="111">sss</li>
</ul>
<button></button>
</body>
</html>
为什么ul后面#text文本节点,而button后面就有#text文本节点?
我用childNodes[2].nodeName查了,为什么在</button>后面会有#text文本节点,请问一下为什么ul后面不会生成一个文本节点,而</button>后面会有一个#text文本节点.第二个问题,</button>后面的#text文本节点是一个换行符还是一个空文本呀?
<html>
<head>
<title></title>
</head>
<body>
<ul id="222" onclick="alert(document.body.childNodes[2].nodeName)">
<li id="111">sss</li>
</ul>
<button></button>
</body>
</html>
为什么ul后面#text文本节点,而button后面就有#text文本节点?
我用childNodes[2].nodeName查了,为什么在</button>后面会有#text文本节点,请问一下为什么ul后面不会生成一个文本节点,而</button>后面会有一个#text文本节点.第二个问题,</button>后面的#text文本节点是一个换行符还是一个空文本呀?
试了几个:input型和select都会附加空文本节点
但是:table和ul则不附加.
但是普通的回车的确是不会生成文本节点的.
至于为什么,这个要问写IE的家伙了... 我用的是IE6推荐你装个IEInspector看看
因为那个自动附加的文本节点是源代码看不出来的.
</button>后面的#text文本节点其实是</button>这里的内容,包括换行</body>,因为HTML不是靠行解析的, 而是标记解析的
至于<ul>后面没有#text文本节点,是因为标准<ul></ul>中不含文本,只有在其子标记li/ul等有