javascript
nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型
nodeName、nodeValue 以及 nodeType 包含有關(guān)于節(jié)點(diǎn)的信息。
nodeName 屬性含有某個(gè)節(jié)點(diǎn)的名稱(chēng)。
元素節(jié)點(diǎn)的 nodeName 是標(biāo)簽名稱(chēng)
屬性節(jié)點(diǎn)的 nodeName 是屬性名稱(chēng)
文本節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #text
文檔節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #document
注釋:nodeName 所包含的 XML 元素的標(biāo)簽名稱(chēng)永遠(yuǎn)是大寫(xiě)的
nodeValue
對(duì)于文本節(jié)點(diǎn),nodeValue 屬性包含文本。
對(duì)于屬性節(jié)點(diǎn),nodeValue 屬性包含屬性值。
nodeValue 屬性對(duì)于文檔節(jié)點(diǎn)和元素節(jié)點(diǎn)是不可用的。
nodeType
nodeType 屬性可返回節(jié)點(diǎn)的類(lèi)型。
最重要的節(jié)點(diǎn)類(lèi)型是:
元素類(lèi)型 --> 節(jié)點(diǎn)類(lèi)型
元素element --> 1
屬性attr --> 2
文本text -->? 3
注釋comments --> 8
文檔document --> 9
?
?
nodeValue就是用來(lái)得到“文本元素的值”的,即只適用于“文本節(jié)點(diǎn)”;
例子:
<html>
<head>
<script type="text/javascript">
function getNodeValue()
{
var nv=document.getElementById("td1").firstChild.nodeValue;
var nn=document.getElementById("tr1").firstChild.nodeName;
var nv1=document.getElementById("tr1").firstChild.nodeValue;
alert("nv="+nv);
alert("nn="+nn);
alert("nv1="+nv1);
}
</script>
</head>
<body>
<table>
? <tr id="tr1">
??? <td id="td1" >John</td>
??? <td>Doe</td>
??? <td>Alaska</td>
? </tr>
</table>
<input type="button" value="button1"? οnclick="getNodeValue()"/>
</body>
</html>
?
以上得到的結(jié)果:
nv=John;
nn=td;
nv1=null;
要分清元素的value屬性和nodeValue 不一樣,nodeValue適用于“文本節(jié)點(diǎn)”和“屬性節(jié)點(diǎn)”;對(duì)應(yīng)“文檔節(jié)點(diǎn)”和“標(biāo)簽節(jié)點(diǎn)”不起作用
?
?
| 接口 | nodeType常量 | nodeType值 | 備注 |
| Element | Node.ELEMENT_NODE | 1 | 元素節(jié)點(diǎn) |
| Text | Node.TEXT_NODE | 3 | 文本節(jié)點(diǎn) |
| Document | Node.DOCUMENT_NODE | 9 | document |
| Comment | Node.COMMENT_NODE | 8 | 注釋的文本 |
| DocumentFragment | Node.DOCUMENT_FRAGMENT_NODE | 11 | document片斷 |
| Attr | Node.ATTRIBUTE_NODE | 2 | 節(jié)點(diǎn)屬性 |
?
?
/*
??????? 定義和用法
??????? childNodes 屬性可返回指定節(jié)點(diǎn)的子節(jié)點(diǎn)的節(jié)點(diǎn)列表,也就是包含在容易內(nèi)的所有控件與文本屬性字段,如果希望得到這些中的某些,必須通過(guò)
??????? 類(lèi)別屬性進(jìn)行篩選。
??????? childNodes常用屬性:
??????? nodeValue:nodeValue適用于“文本節(jié)點(diǎn)(<td>中的文本內(nèi)容)”和“屬性節(jié)點(diǎn)”;對(duì)應(yīng)“文檔節(jié)點(diǎn)”和“標(biāo)簽節(jié)點(diǎn)(li)”不起作用
??????? nodeName:元素節(jié)點(diǎn)的 nodeName 是標(biāo)簽名稱(chēng)
??????????? 屬性節(jié)點(diǎn)的 nodeName 是屬性名稱(chēng)
??????????? 文本節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #text
??????????? 文檔節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #document
??????????? nodeType:返回的數(shù)值 1:元素節(jié)點(diǎn)、2:屬性節(jié)點(diǎn)、3:文本節(jié)點(diǎn)
??????????? firstChild:返回容器內(nèi)的第一個(gè)控件對(duì)象,可以利用這個(gè)返回對(duì)象去獲取該控件的屬性信息
??????????? parentNode:返回子節(jié)點(diǎn)對(duì)象外層的父對(duì)象,可以利用這個(gè)返回父對(duì)象去獲取該控件的屬性信息
??????????? previousSibling:獲取同級(jí)節(jié)點(diǎn)上級(jí)節(jié)點(diǎn)對(duì)象,可以利用這個(gè)返回對(duì)象去獲取該節(jié)點(diǎn)的屬性信息
??????????? nextSibling:獲取同級(jí)節(jié)點(diǎn)下級(jí)節(jié)點(diǎn)對(duì)象,可以利用這個(gè)返回對(duì)象去獲取該節(jié)點(diǎn)的屬性信息
???????????
??????? 語(yǔ)法:
??????? nodeObject.childNodes
??????? 提示和注釋
??????? 提示:請(qǐng)使用 length 屬性來(lái)計(jì)算一個(gè)節(jié)點(diǎn)列表中節(jié)點(diǎn)的數(shù)目。當(dāng)你已獲悉節(jié)點(diǎn)列表的長(zhǎng)度后,您就可以輕松地循環(huán)遍歷此列表,并提取您所需要的值!
??????? 實(shí)例
??????? 在所有的例子中,我們將使用 XML 文件 books.xml,以及 JavaScript 函數(shù) loadXMLDoc()。
??????? 下面的代碼片段顯示了此XML文檔的子節(jié)點(diǎn):
??????? xmlDoc=loadXMLDoc("books.xml");
??????? var x=xmlDoc.childNodes;
??????? for (i=0;i<x.length;i++) { document.write("Nodename: " + x[i].nodeName) document.write(" (nodetype: " + x[i].nodeType + ")<br />") }
??????? */
總結(jié)
以上是生活随笔為你收集整理的nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 正则中需要转义的特殊字符小结
- 下一篇: javascript (function