• 【Javascript DOM读书笔记】chapter8 充实文档内容


    本章目的

    作者举出了第一个实例,为一篇 web 页面动态创建缩略语(abbreviation)的列表。大家知道,我们可以使用 <abbr>...</abbr> 来指示一个缩略语,如 <abbr title="Document Object Model">DOM</abbr>,其中 title 属性指明了缩略语的全称。我们所要做的就是,找出文章中所有的 <abbr> 及其对应的 title,汇总,然后在文档的末尾把缩略语对照表显示出来。最终效果应该如下:

    具体步骤

    我们可以分三步完成:

    • 遍历文档获取信息
    • 创建标签包装信息
    • 插入标签到 WEB 文档   

    具体js代码如下:

     1 // JavaScript Document
     2 function displayAbbreviations(){
     3     if(!document.getElementsByTagName || !document.createElement || !document.createTextNode) return false;
     4     //取得所有缩略词
     5     var abbreviations=document.getElementsByTagName("abbr");
     6     if(abbreviations.length<1) return false;
     7     var defs=new Array();
     8     //遍历这些缩略词
     9     for(var i=0;i<abbreviations.length;i++){
    10         var current_abbr=abbreviations[i];
    11         if(current_abbr.childNodes.length<1)continue;
    12         var definition=current_abbr.getAttribute("title");
    13         var key=current_abbr.lastChild.nodeValue;
    14         defs[key]=definition;
    15     }
    16     //创建定义列表
    17     var dlist=document.createElement("dl");
    18     for(key in defs){
    19         var definiton = defs[key];
    20         var dtitle=document.createElement("dt");
    21         var dtitle_text=document.createTextNode(key);
    22         dtitle.appendChild(dtitle_text);
    23         var ddesc=document.createElement("dd");
    24         var ddesc_text=document.createTextNode(definition);
    25         ddesc.appendChild(ddesc_text);
    26         dlist.appendChild(dtitle);
    27         dlist.appendChild(ddesc);
    28     }
    29     if(dlist.childNodes.length<1) return false;
    30     var header=document.createElement("h2");
    31     var header_text=document.createTextNode("Abbreviations");
    32     header.appendChild(header_text);
    33     document.body.appendChild(header);
    34     document.body.appendChild(dlist);
    35 }
    36 
    37 //函数在页面加载时被调用
    38 addLoadEvent(displayAbbreviations);

    在这里着重强调18行的for(variable  in  array)   遍历数组的所有元素!!

    总结

    (1)使用正确的标签构建页面是使用 JS 提升页面内容的前提

    (2)使用 JS 提升页面内容比直接在页面中添加标签,更加灵活、高效、自动、易于修改。

    (3)可以使用本章介绍的技术区编写一些脚本,提取文档标题放在开头作为可以到达有关标题的内部链接(可以参考网上资料来完成)

  • 相关阅读:
    用Java开发第一个APP
    去除字符串空格并竖向排列
    并发容器 concurrentHashMap--1.7 更改
    java并发容器CopyOnWriteArrayList 使用场景和内部实现分析
    java非并发容器ArrayList 和 LinkedList 优缺点比较及其实现源码分析
    并发容器之CopyOnWriteArrayList分析
    单例模式
    [Android]知识总结一:Activity
    阿里巴巴fastjson的使用问题
    java跨域请求的方式
  • 原文地址:https://www.cnblogs.com/lijie33402/p/4422362.html
Copyright © 2020-2023  润新知