childNodes方法:
function countBodyChildren (){
var bodyChildren = document.getElementsByTagName('body')[0].childNodes;
//由于HTML中只有一个<body>标签,所以使用getElementsByTagName所得到的数组中的第一个也就是唯一一个元素
//getElementsByTagName('body')[0]就是<body>元素节点的引用
//<body>标签还有一种专用写法:document.body,更加简洁
alert(bodyChildren.length);
//得到<body>的子节点数
}
调用函数:window.onload=countBodyChildren; //window.onload事件:网页加载完毕。 //注意此时countBodyChildren函数后面未加()。什么时候加()?什么时候不加()? //函数加()的时候分两种:定义时,调用时。其他情况不加,如上式,或者typeof showPic。typeof和nodeType的区别
function bodyChildrenType (){ var bodyChildren = document.body.childNodes; for (key in bodyChildren){ alert(typeof bodyChildren[key]); alert(bodyChildren[key].nodeType); } }同样用window.onload事件调用就好了。
<p id="description">Choose an image.</p>然后要将图片链接中的title属性的值取出来放在<p>
function showPic(element){ var source = element.getAttribute('href'); var placeholder = document.getElementById('placeholder'); placeholder.setAttribute('src', source); //在此函数中加入下面两句 var text = element.getAttribute('title'); //取<a>中title的值 var description = document.getElementById('description');//取<p>元素的引用 }description是一个元素节点,文本为<p>元素节点的第一个子节点文本节点的值,要取得第一个子节点:
alert(description.nodeValue);//是一个空值 alert(description.firstChild.nodeValue); //"Choose an image."所以在showPic函数中再加入一句
description.firstChild.nodeValue = text;即可完成对图片的简短描述
<link type="text/css" href="styles/layout.css" rel="stylesheet" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Image Gallery</title> <script type="text/javascript" src="scripts/showPic.js"></script> <link type="text/css" href="styles/layout.css" rel="stylesheet" /> </head> <body> <h1>Snapshots</h1> <ul> <li> <a href="images/fireworks.jpg" onclick="showPic(this);return false;" title="A fireworks display">Fireworks</a> </li> <li> <a href="images/coffee.jpg" onclick="showPic(this);return false;" title="A cup of black coffee">Coffee</a> </li> <li> <a href="images/rose.jpg" onclick="showPic(this);return false;" title="A red, red rose">Rose</a> </li> <li style="float:none;"> <a href="images/bigben.jpg" onclick="showPic(this);return false;" title="The famous clock">Big Ben</a> </li> </ul> <img id="placeholder" src="images/placeholder.jpg" alt="my image gallery" /> <p id="description">Choose an image</p> </body> </html>2.javaScript文件 showPic.js
function showPic(element){ var source = element.getAttribute('href'); var placeholder = document.getElementById('placeholder'); placeholder.setAttribute('src', source); var text = element.getAttribute('title'); var description = document.getElementById('description'); description.firstChild.nodeValue = text; }3.CSS文件 layout.css
body { font-family: "Helvetica", "Arial", sans-serif; color: #333; background-color: #ccc; margin: 1em 10%; } h1 { color: #333; background-color: transparent; } a { color: #c60; background-color: transparent; font-weight: bold; text-decoration: none; } ul { padding: 0; } li { float: left; padding: 1em; list-style: none; }