DOM文档中,每个节点都有一些重要的属性:
- 最重要的是nodeType,它描述该节点是什么---元素(element)、属性(attribute)、注释(comment)、文本(text)或者其他几种类型(共12个),nodeType:1表示元素节点,3表示文本节点。
- 另外一个重要的性质是nodeName,它表示元素的名字,如果是文本节点的话,则表示#text,根据文档类型和用户代理,nodeName可以是大写的,也可以是小写的,正是由于这个原因,在测试特定名称的时候,最好将其转化为小写。可以使用string对象的toLowerCase()方法来实现:if(obj.nodeName.toLowerCase()=='li'{});对于元素节点,可以使用tagName属性
- nodeValue是节点的值:如果这个节点是元素,则它为null,如果元素是文本节点,则它为文本内容。对于文本节点,可以读取或设置nodeValue,从而能够更改元素的文本内容;
//修改文本节点的内容,文本节点是nodeValue---
//这样写不起作用,第一个段落是一个元素节点,要改变段落内部的文本,就要访问内部的文本节点,即,这个段落标签的第一个子节点
var firstP = document.getElementsByTagName("p")[0].nodeValue = "hello world";
alert(firstP);
var SecondP = document.getElementsByTagName("p")[0].firstChild.nodeName = "hello world again";
alert(SecondP);
![]()
<body>
<h1>我是标题1</h1>
<p>我是段落标签</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li><a href="http://www.baidu.com">百度一下,你就知道</a></li>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
<p>段落尾部1</p>
<p>段落尾部2</p>
</body>
HTML