//修改文本节点的内容,文本节点是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>
修改前效果图:

修改后效果图:

firstChild属性是个简便用法,每个元素都可以有任意数量的子节点,可以通过childNodes属性列出来:
现在我们来做一个例子,遍历元素的子节点:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function MyFunction() {
var domString = "";
//判断是否支持DOM
if (!document.getElementById || !document.createTextNode) {
return;
}
var demoList = document.getElementById("myList");
//判断给定Id的ul元素,是否定义过
if (!demoList) {
return;
}
//判断ul元素是否有子节点
if (demoList.hasChildNodes()) {
//有子节点的话,就遍历出来
var ch = demoList.childNodes; //获取子节点
for (var i = 0; i < ch.length; i++) {
//获取子节点的名称nodeName
domString += ch[i].nodeName + "\n";
}
alert(domString);
}
}
</script>
</head>
<body>
<form>
<ul id="myList">
<li>列表1</li>
<li>列表2</li>
<li><a href="http://www.baidu.com">百度一下,你就知道~~~</a></li>
<li>列表4</li>
<li><p>夕阳无限好,只是近黄昏</p></li>
<li>列表6</li>
<li>列表7</li>
</ul>
<input type="submit" onclick="MyFunction()" value="hello,点击我呀~~~" />
</form>
</body>
</html>
效果图:

通过parentNode属性可以,从子节点到父节点。下面我们来,做一个例子:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>通过子节点获取父节点</title>
<script type="text/javascript">
function MyFunction() {
var myTaoBaoList = document.getElementById("myTaoBaoList");
//获取父节点的名称
var myfaterNode_TaoBao = myTaoBaoList.parentNode.nodeName;
alert(myfaterNode_TaoBao);
//获取祖宗节点(父节点的父节点)
var mygrantfaterNode_TaoBao = myTaoBaoList.parentNode.parentNode.nodeName;
alert(mygrantfaterNode_TaoBao);
}
</script>
</head>
<body>
<ul>
<li>列表1</li>
<li>列表2</li>
<li><a href="http://www.taobao.com" id="myTaoBaoList">淘宝网</a></li>
<li>列表4</li>
<li>列表5</li>
</ul>
<input type="submit" value="点我呀,看你点不点~~~" onclick="MyFunction()" />
</body>
</html>
效果图:
