急,请问javascript的nodevalue问题?<body>
<input type=button value=寻找 onclick="alert(document.body.childNodes[4].firstChild.nodeValue)">
<br><br>
<button id="kk" onclick="alert(document.getElementById('kk').value)">好好</button></body>有个问题不大清楚,button的第一个firstChild文本子节点是'好好',可以用document.body.childNodes[4].firstChild.nodeValue来寻找到,这里用的是nodeValue属性,意思是节点内容.但是这句<button id="kk" onclick="alert(document.getElementById('kk').value)">好好</button>这里用的是.value而不是.nodevalue,这个'好好'是button的第一个文本子节点,为什么文本子节点不用nodevalue,而用value?如果改成document.getElementById('kk').nodeValue为什么就不行如果再改成document.getElementById('kk').firstChild.nodeValue为什么也不行?
是不是因为nodevalue这个属性只能用在childNodes对象集合后面,而不能用在getElementById('kk')后面?没道理啊,应该都可以的,为什么不行啊?
第二个问题<body>
<input type=button value=寻找 onclick="alert('--'+document.body.childNodes[1].nodeValue+'--')">
<br><br>
<button id="kk" onclick="alert(document.getElementById('kk').value)">好好</button>
</body>
我测试了一个childNodes[1]和childNodes[5]的#text文本节点是个空格,为什么在input和button后面都会产生一个空格的文本节点,什么原因,我在html代码中input和button后面根本没有写空格,为什么会产生一个空格的#text文本节点请指教.