為什么返回的nodeValue全是null
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"> <title>節(jié)點(diǎn)屬性</title> </head> <body> ??<ul> ?????<li>javascript</li> ?????<li>HTML/CSS</li> ?????<li>jQuery</li>????? ??</ul> ??<input?type="text"?value="試試看"> ???<input?type="button"?value="點(diǎn)我試試看"> ????<input?type="text"?value="無(wú)厘頭"> ????<button>點(diǎn)我</button> ??<script?type="text/javascript"> ????var?con=document.getElementsByTagName("li"); ????for(i=0;i<con.length;i++) ????{ ????????document.write(con[i].nodeName+"?"+con[i].nodeValue+"?"+con[i].nodeType+"<br>"); ????} ????var?icon=document.getElementsByTagName("input"); ????for(i=0;i<con.length;i++) ????{ ????????document.write(icon[i].nodeName+"?"+icon[i].nodeValue+"?"+icon[i].nodeType+"<br>"); ????} ????var?bcon=document.getElementsByTagName("button"); ????document.write(bcon[0].nodeName+"?"+bcon[0].nodeValue+"?"+bcon[0].nodeType+"<br>"); ????var?hcon=document.getElementsByTagName("html"); ????document.write(hcon[0].nodeName+"?"+hcon[0].nodeValue+"?"+hcon[0].nodeType+"<br>"); ????var?tcon=document.getElementsByTagName("title"); ????document.write(tcon[0].nodeName+"?"+tcon[0].nodeValue+"?"+tcon[0].nodeType+"<br>"); ??</script> </body> </html>
結(jié)果:
根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) ? ? HTML 元素是元素節(jié)點(diǎn)
HTML? ? ?元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) ? ? HTML 屬性是屬性節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
2020-04-05
元素節(jié)點(diǎn)的 nodeValue 是?undefined 或 null
邊上的說(shuō)明解釋的這么清楚了。。。。? 這三個(gè)都是元素節(jié)點(diǎn)
2019-11-08
參考9-7【節(jié)點(diǎn)屬性】這一章的說(shuō)明,元素節(jié)點(diǎn)的nodeValue是undefined或null
html,title,li,button都是元素節(jié)點(diǎn),所以nodeValue為null
想獲取一個(gè)不存在的元素節(jié)點(diǎn)(比如<span>節(jié)點(diǎn)),返回的值就為undefined