JS DOM编程艺术——显示缩略语列表—— JS学习笔记2015-7-16(第85天)

缩略语列表函数

HTML 结构:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>显示缩略语列表</title>
<style>
 body{ font-family: "Helvetiva", "Arial", sans-serif; font-size: 10pt;}
 abbr{ border: 0; font-style: normal;} 

</style>

</head>

<body>
  <h1>What is the Document Object Model?</h1>
  <p>The <abbr title="World wide Web Consortium">W3C </abbr>defines the <abbr title="Document Object Model">DOM </abbr> as:</p><blockquote cite="http://www.w3.org/DOM/"><p>A platform and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.</p></blockquote><p>
  IT is an <abbr title="Application Programming Interface">API</abbr> that can be used to navigate <abbr title="HyperText Markup Language">HTML </abbr>and <abbr title="eXtensible Markup Language">XML </abbr> documents.</p>

  <script src="scripts/addLoadEvent.js"></script>
  <script src="scripts/displayAbbrevitions.js"></script>
</body>
</html>

js:

function addLoadEvent(func){

  var oldonload = window.onload;
  if (typeof window.onload != ‘function‘) {
    window.onload = func;
  } else{
    window.onload = function(){
        oldonload();
        func();
    }
  }
}

// displayAbbreviations.js
function displayAbbreviations(){
  // 取得所有缩略词
  var abbreviations = document.getElementsByTagName("abbr");
  if(abbreviations.length < 1) return false;
  var defs = new Array();
  // 遍历所有缩略词
  for( var i=0; i<abbreviations.length; i++){

      var current_abbr = abbreviations[i];
      var definition = current_abbr.getAttribute("title");
      var key = current_abbr.lastChild.nodeValue;
      defs[key] = definition;
  }
  // 创建定义列表
  var dlist = document.createElement("dl");
  // 遍历定义
  for( key in defs){
    var definition = defs[key];
    // 创建定义标题
    var dtitle = document.createElement("dt");
    var dtitle_text = document.createTextNode(key);  // 这里多了一个引号
    dtitle.appendChild(dtitle_text);
    // 创建定义描述
    var ddesc = document.createElement("dd");
    var ddesc_text = document.createTextNode("definition");
    ddesc.appendChild(ddesc_text);
    // 把它们添加到定义列表
    dlist.appendChild(dtitle);
    dlist.appendChild(ddesc);
  }
  // 创建标题
  var header = document.createElement("h2");
  var header_text = document.createTextNode("Abbreviations")
  header.appendChild(header_text);
  // 把标题添加到页面主体
  document.body.appendChild(header);
  // 把定义列表添加到页面主体
  document.body.appendChild(dlist);
}
addLoadEvent(displayAbbreviations);

这里面提到了一个for in 语句,其功能是用来枚举对象的属性;

语法:for  (property in expression) statement

例子:for (var propName in window){

document.write(propName);

}

时间: 2024-10-27 09:44:34

JS DOM编程艺术——显示缩略语列表—— JS学习笔记2015-7-16(第85天)的相关文章

JS DOM编程艺术——显示文献来源链接表—— JS学习笔记2015-7-17(第86天)

function displayCitations(){ // 取得所有引用 var quotes = document.getElementsByTagName("blockquote"); //遍历引用 for( var i=0; i<quotes.length; i++){ // 如果没有cite属性,继续循环 if(!quotes[i].getAttribute("cite")) continue; // 保存cite属性 var url = quot

JS DOM编程艺术——动态创建标记—— JS学习笔记2015-7-13(第83天)

DOM方法: 1.createElement 语法:document.createElement(nodeName) 比如:document.createElement("p");  // 将创建一个P元素: 2.appendChild 语法:parent.appendChild(child) 3.creatTextNode 语法:document.createTextNode(text) example.js /* window.onload = function (){ var p

JS DOM编程艺术的学习—— JS学习笔记2015-7-5(第76天)

由于看高程3卡住了,所以现在在学习JS DOM编程艺术来巩固基础: 一.在看JS DOM 编程艺术的时候,有个作者提到的方法很实用, 就是在JS中变量和函数的命名方法:  变量的命名方法为使用下划线,比如: var temp_color = ['red','blue']; 函数就使用驼峰法,比如: function current_date(){}; 这样的习惯可以帮助理解,提高可读性,在理解变量和函数名的时候就很方便了: 二.还有个收获就是关于“对象”的理解又加深了 之前对于什么对象的属性,对

JS DOM编程艺术——JS图片库—— JS学习笔记2015-7-8(第79天)

DOM是一种适用于多种环境和多种程序设计语言的通用型API. 如果想要把本书(JS DOM编程艺术)学到的DOM技巧运用在web浏览器以外的应用环境里,严格遵守“第1级DOM”能够让你避免与兼容性有关的任何问题: tips:setAttribute是第1级DOM; 图片切换初级js: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/

JS DOM 编程艺术 随笔

DOM 最大的作用就是将整个文档通过节点树来展现.通过类似方法可以获取特定节点,并绑定js方法实现与人的交互. 1.通过dom方法,获取页面的元素(getElementsByTagName/id,通过class(getAttribute))2.获取元素之后,为他们绑定行为(点击/其他)的处理事件3.最后把所有函数绑定到window.onload()函数上面去 onload = function(){function1function2...} plus 小技巧: <a onclick=>函数

&lt;书摘&gt;《JS DOM编程艺术》

2016/03/04 12:00 第一二章:JS的简史以及基本语法 1.P11 2.variable 3.P13 等于 4.P13 5.P14 转义字符 6.关联数组不是一个好习惯 7.P18 对象 8.P31  firefox和chrome的兼容性:+1900,IE好着呢: 第三章:强大的DOM编程 1.DOM:Document Object Model OR MAP(文档,对象,模型OR地图): 2.P40 中间 [请注意] 3.p42 上部分例子 4.案例研究:JavaScript图片库(

JS DOM编程艺术——用JS实现动画效果—— JS学习笔记2015-7-21(第88天)

moveElement函数 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用定时器实现JS动画效果</title> <style> </style> </head> <body> <

JS DOM编程艺术——JS图片库2—— JS学习笔记2015-7-9(第80天)

childNodes属性: element.childNodes 它是包含这个元素的全部子元素的数组: nodeType属性: 每一个节点都有nodeType属性,这个属性可以让我们知道自己正在与哪种节点打交道 node.nodeType 返回 1 是指该节点为元素节点: 返回 2 是指该节点为属性节点: 返回 3 是指该节点为文本节点: nodeValue属性: node.nodeValue 但是这个属性在实际使用的时候需要配合childNodes才行,详情看例子 firstChild和las

JS DOM编程艺术——CSS-DOM—— JS学习笔记2015-7-19(第87天)

DOM的style属性提取不到外部样式表和头部<style></style>标签里面设置的样式 解决方法是用DOM 设置样式,再可以用DOM把他们检索出来. 但是style属性是可以设置的,通过赋值来更新样式