3 回答
TA贡献1998条经验 获得超6个赞
你说的是HTML DOM?还是Jquery DOM?不同的dom对应的内容是不一样的,绝对不能混合使用。不过从你说到节点来看,应该是HTML DOM。根据我的理解,先说明,我也是学习js的一个新手。以下纯属个人见解,仅供参考:dom中的节点,无需深究它是否是对象,你只需要知道对应的节点代表什么就行。文本节点就是元素标签的文字内容,属性节点就是元素标签的属性,元素节点就是元素标签。然后,知道了这些,你就应该想得到,标签,是有属性,有内容的。也就是说你可以通过dom创建元素标签,属性,文字内容,然后向你创建的元素标签添加属性和文字内容,个人觉得dom的作用就是如此。
TA贡献1836条经验 获得超5个赞
节点信息
每个节点都拥有包含着关于节点某些信息的属性。这些属性是:
nodeName(节点名称)
nodeValue(节点值)
nodeType(节点类型)
nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
元素类型
节点类型
元素 1
属性 2
文本 3
注释 8
文档 9
在实际应用中,经常用到的就是元素节点、属性节点和文本节点了,下面我们通过小段代码进行讲解
1:元素节点
12345678910111213141516171819 | < HEAD > < TITLE >空谷悠悠</ TITLE > </ HEAD > < BODY > < table > < tr > < td id = "john" name = "myname" >John</ td > < td >Doe</ td > < td id = "jack" >Jack</ td > </ tr > </ table > < script > var d = document.getElementById("john"); alert(d.nodeType) alert(d.nodeName) alert(d.nodeValue) </ script > </ BODY > </ HTML > |
分析运行结果,其三个属性的值分别为:
nodeType:ELEMENT_NODE
nodeType值:1
nodeName:元素标记名 //此处为TD
nodeValue:null
2:属性节点
12345678910111213141516171819 | < HEAD > < TITLE >空谷悠悠</ TITLE > </ HEAD > < BODY > < table > < tr > < td id = "john" name = "myname" >John</ td > < td >Doe</ td > < td id = "jack" >Jack</ td > </ tr > </ table > < script > var d = document.getElementById("john").getAttributeNode("name"); alert(d.nodeType) alert(d.nodeName) alert(d.nodeValue) </ script > </ BODY > </ HTML > |
分析运行结果,其三个属性的值分别为:
nodeType:ATTRIBUTE_NODE
nodeType值:2
nodeName:属性名 // name
nodeValue:属性值 //myname
3:文本节点
12345678910111213141516171819 | < HEAD > < TITLE > New Document </ TITLE > </ HEAD > < BODY > < table > < tr > < td id = "john" name = "myname" >John</ td > < td >Doe</ td > < td id = "jack" >Jack</ td > </ tr > </ table > < script > var d = document.getElementsByTagName("td")[0].firstChild alert(d.nodeType) alert(d.nodeName) alert(d.nodeValue) </ script > </ BODY > </ HTML > |
分析运行结果,其三个属性的值分别为:
nodeType:TEXT_NODE
nodeType值:3
nodeName:#text
nodeValue:文本内容 // John
添加回答
举报