JavaScript·图片库之节点

通过简单的JavaScript 图片库案例来讲解函数应用及扩展。

这是一个图片库小页面,通过单击1、2、3、4在原来的页面变换图片和描述。

下面是HTML标签:

 1 <body>
 2 <h1>Snapshots</h1>
 3 <ul>
 4     <li><a href="images/1.jpg" onClick="showPic(this); return false;" title="one">1</a></li>
 5 //href="images/1.jpg" onClick="showPic(this); return false;" title="one"
 6 //这些都是接来下要通过Javascript调用的标签属性
 7     <li><a href="images/2.jpg" onClick="showPic(this); return false;" title="two">2</a></li>
 8     <li><a href="images/3.jpg" onClick="showPic(this); return false;" title="three">3</a></li>
 9     <li><a href="images/4.jpg" onClick="showPic(this); return false;" title="four">4</a></li>
10     <img src="images/show.jpg" alt="my img gallery" id="placeholder">
11 </ul>
12 <p id="description">Choose an image.</p>
13 </body>

图片变换步骤:1.获取a对象并取得href参数-> 2.获取img 对象-> 3.将href 的参数赋值给img 的src属性。

 1 //getElementsByTag( a );可以来获取a的对象,但是局限性,但是获取哪个a标签?因为Tag返回的是一段数组。
 2 //这里我们可以封装一个方法function()用标签属性onClick调用这个函数
 3 //在调用这个函数时,用this 关键字传递参数,就可以简单的把该a对象传递过去了
 4 //onClick="showPic(this); return false;"为什么,后面要返回false。不加则会跳到href指定页面,返回false可以使链接无效。
 5
 6 showPic(whichpic)
 7 function showPic(whichpic){
 8 //whichpic就是传递过来的相对getElementsByTag( a );
 9         var source = whichpic.getAttribute("href");
10         var placeholder = document.getElementById("placeholder");
11         placeholder.setAttribute("src",source);
12         }
13 如此一来,就可以变换图片了

文本变换如上步骤差不多,但在此前,先了解一下节点

1.childNodes 属性

  在一颗节点树上,childNodes属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素全部子元素的数组:

  element.childNodes

1 function counBodyChildren(){
2     var body_element = document.getelementsByTagName("body")[0];
3     alert( body_element.childNodes.length );
4 }//这个小函数可以显示出你body 元素的子元素的总个数。

  或者你想更清楚的了解childNodes具体是查询了哪个节点,可以尝试一下代码:

 1 <!DOCTYPE html>
 2 <html>
 3 <body> <p id="demo">请点击按钮来获得 body 元素子节点的相关信息。</p>
 4
 5 <button onclick="myFunction()">试一下</button>
 6
 7 <script>
 8 function myFunction()
 9 {
10 var txt="";
11 var c=document.body.childNodes;
12 for (i=0; i<c.length; i++)
13   {
14   txt=txt + c[i].nodeName + "<br>";
15   };
16 var x=document.getElementById("demo");
17 x.innerHTML=txt;
18 }
19 </script>
20
21 <p><b>注释:</b>元素中的空格被视为文本,而文本被视为节点。</p>
22
23 </body>
24 </html>

  得到的结果如下:

  了解节点后继续完善图片库变( showPic(whichpic) )更图片时的描述:

 1 function showPic(whichpic){
 2         var source = whichpic.getAttribute("href");
 3         var placeholder = document.getElementById("placeholder");
 4         placeholder.setAttribute("src",source);
 5 //我们已经传入了a=whichpic标签对象了
 6 //再用getAttribute获取a对象的title属性值,再获取P对象传入text。
 7         var text = whichpic.getAttribute("title");
 8         var description = document.getElementById("description");
 9         description.firstChild.nodeValue = text;
10         }
11 //补充:childNodes里现在已经不包括属性节点了。
 1 function showPic(whichpic){
 2         var source = whichpic.getAttribute("href");
 3         var placeholder = document.getElementById("placeholder");
 4         placeholder.setAttribute("src",source);
 5 //我们已经传入了a=whichpic标签对象了
 6 //再用getAttribute获取a对象的title属性值,再获取P对象传入text。
 7         var text = whichpic.getAttribute("title");
 8         var description = document.getElementById("description");
 9         description.firstChild.nodeValue = text;
10         }
11 //node.firstChild 等价于node.childNodes[0]
12 //node.lastChild 等价于node.childNodes[node.childNodes.length-1]
13 //补充:childNodes里现在已经不包括属性节点了。

原文地址:https://www.cnblogs.com/lailer132/p/8191894.html

时间: 2024-11-06 03:41:25

JavaScript·图片库之节点的相关文章

平稳退化,JS和HTML标记分离,极致性能的JavaScript图片库

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>JavaScript图片库</title> 6 <script type="text/javascript"> 7 <!--平稳退化,JS和HTML标记分离,极致性能的JS图片库--> 8 fu

JavaScript获取DOM节点HTML元素CSS样式

JavaScript获取DOM节点HTML元素CSS样式技术 maybe yes 发表于2015-01-10 18:07 原文链接 : http://blog.lmlphp.com/archives/59  来自 : LMLPHP后院 如何使用 JavaScript 获取某个 DOM 节点下 HTML 元素的 CSS 样式值?使用过 JQuery 的童鞋一定都非常的熟悉,Jquery 提供了非常强大的 CSS 方法,可以很方便的设置和获取元素的 style 属性. 某些情况下,我们不能使用 JQ

小学生做程序的梦 之 1.JavaScript图片库

<!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <title>JavaScript图片库 2017 09 12</title>  <script>    //建立一个函数替换占位图片  //whichPic代表指向某个图片的<a>元素   function showPic(whichPic){        //分解图片的路径,通过

javascript图片库

将图片发布到网上的办法很多,可以简单地把所有图片都放在一个网页中,但是会导致这个网页过于庞大.为每张图片分别创建一个网页的解决办法值得考虑,但是制作过程需要花费非常多的时间和精力. 如果想要两全其美,那我有一种方法,利用JavaScript制作一个图片库,把整个图片库的浏览链接到图片库主页,用户点击某个链接时,那张图片才会且在本页面显示. html文件的编写 <html xmlns="http://www.w3.org/1999/xhtml"><head><

javascript所有的节点和方法

属性: 1.Attributes 存储节点的属性列表(只读) 2.childNodes 存储节点的子节点列表(只读) 3.dataType 返回此节点的数据类型 4.Definition 以DTD或XML模式给出的节点的定义(只读) 5.Doctype 指定文档类型节点(只读) 6.documentElement 返回文档的根元素(可读写) 7.firstChild 返回当前节点的第一个子节点(只读) 8.Implementation 返回XMLDOMImplementation对象 9.las

Javascript 动态添加节点(thinking in DOM)

test.html & example.js 文件说明了传统技术:document.write & innerHTML 的用法 test.html: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title> Test </title> </head> <body> <div id="testd

【Javascript】 DOM节点

HTML文档中一切都是节点! 整个文档是文档节点: 注释是注释节点: 每一个HTML元素都是一个元素节点: 元素内的文本内容是文本节点: 连元素的每一个属性都是一个属性节点. 看到这些是不是感觉很熟悉,没错,就像JS中一切都是对象一样,HTML文档中一切都是节点.   我们可以使用各种访问节点的方法,对任意一个节点进行增删改查等等操作.从而达到对整个页面的各种操作. 增: 如果要向HTML添加一个元素,需要先创建一个元素(元素节点),然后再将其追加到已有的元素上. 创建元素节点newNode:

JavaScript操作DOM节点

DOM (文档对象模型(Document Object Model)) 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM.Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能.

javascript与DOM节点的结合使用

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM.Document Object Model的历史可以追溯至1990年代后期微软与Netscape的"浏览器大战",双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能.微软在网页技术上加入了不少专属事物,既有VBScript.Ac