请问javascript的nodeValue和value的区别?

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:50:35
请问javascript的nodeValue和value的区别?
<body>
<input type=button value=寻找 onclick="alert(document.body.childNodes[4].value)">
<br><br>
<input type=button id="kk" value="hao" onclick="alert(document.getElementById('kk').value)">
</body>

alert(document.body.childNodes[4].value)这句是说第5个节点的值是hao

为什么改成alert(document.body.childNodes[4].nodeValue)就不行,意思都一样的,为什么不行,

childNodes[4].nodeValue是第5个节点的nodeValue节点值,为什么就不行啊,弹出null,怎么回事?

<body>的子节点有6个,[4]代表的是第5个,[0]是1个。value是<input/>元素节点中的所有属性中value这一个属性,nodeValue是<input/>元素节点这个节点本身的值。


nodeValue指的是节点的值...
value指的是元素节点中的value属性...

document.body.childNodes[]指的是<body>这个标签的子节点
而你这个文档中,<body>的子节点有4个,<input><br><br><input>
document.body.childNodes[4].value指的是第四个节点<input>中的value属性值
如果你把这个语句换成document.body.childNodes[4].id,相信返回的就是kk了~~~
学过一点Xpath,以及xml文档解析,dom4j
可以自己尝试验证下