显示“缩略词语”


  • <abbr> 标签指示简称或缩写,比如
<abbr title="World Wide Web Consortium">W3C</abbr>
  • <acronym> 标签定义首字母缩写。HTML5中已经不支持该标签。建议用<abbr>标签代替。
  • ”定义表“(<dl>)由一系列“定义标题”<dt>和相应的“定义描述”<dd>构成。
  • for/in循环

它的独特之处是可以把某个数组的下标键字临时赋值给一个变量:for(variable in arry)

<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 HTML and XML documents.
</p>

从上面的html文件提取<abbr>,用js显示一个缩略词语表,结构如下图:

js文件如下:

/*编写displayAbbr函数*/
function displayAbbr(){ if (!document.getElementsByTagName || !document.createElement || !document.createTextNode) return false; var abbr = document.getElementsByTagName("abbr")
if (abbr.length<1) return false; //检查是否有<abbr> var defs = new Array();
for (var i=0; i<abbr.length; i++){
var abbrTitle = abbr[i].getAttribute("title");
var key = abbr[i].lastChild.nodeValue;//提取<abbr>标签里的缩略词语 //abbrTitle和key这两个变量的值保存到defs数组里,其一用作数组下标键字,另一个用作数组元素的值:
defs[key] = abbrTitle;
} /*创建HTML内容*/
var dlist = document.createElement("dl"); //用一个for/in循环去遍历defs数组:
for (key in defs){
var abbrTitle = 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(abbrTitle);
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); }
window.onload = displayAbbr;

最后效果图示:

显示“文献来源连接”


  • continue

continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。
可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

  • <blockquote>:定义块引用,<blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。 <q>元素标记短的引用。
  • 该标签含属性cite,可选。用途是给出一个url地址告诉我们引用的来源。主流浏览器均忽视 cite 属性的存在,用户是无法看到的。利用js+dom,我们可以让它显示在网页上。
/*显示文献来源*/
/*编写displayCite函数*/
function displayCite(){
if (!document.getElementsByTagName || !document.createTextNode || !document.createElement) return false; var quotes = document.getElementsByTagName("blockquote");
for(var i=0; i<quotes.length; i++){
if(!quotes[i].getAttribute("cite")){
continue; //判断是否有cite属性
} var url = quotes[i].getAttribute("cite");
var quoteChildren = quotes[i].getElementsByTagName("*");//取得当前blockquote元素里所有元素点
if (quoteChildren.length<1) continue; var elem = quoteChildren[quoteChildren.length-1]; //取得blockquote元素里的最后一个元素点 var link = document.createElement("a");
var link_text = document.createTextNode("source");
link.appendChild(link_text);
link.setAttribute("href",url); //用sup元素节点包装link,呈现上标效果
var sup = document.createElement("sup");
sup.appendChild(link); elem.appendChild(sup);
}
}
window.onload = displayAbbr;

第八章 熟练dom的几个常用方法的更多相关文章

  1. js DOM的几个常用方法

    <div id="div1">这是个测试</div> <p </p> <p </p> //js DOM的几个常用方法 / ...

  2. 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)

    getElementById(id)这是通过id来访问某一元素,最常用的之一,例:<html><body><div id="myid">test ...

  3. dom操作节点之常用方法

    DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...

  4. JavaScript之旅(DOM)

    JavaScript之旅(DOM) [TOC] 一.认识DOM 什么是 DOM? DOM 是 Document Object Model(文档对象模型)的缩写. DOM 是 W3C(万维网联盟)的标准 ...

  5. dom对象常用的属性和方法有哪些?

    dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...

  6. JavaScript脚本语言基础(四)

    导读: JavaScript和DOM DOM文档对象常用方法和属性 DOW文档对象运用 JSON数据交换格式 正则表达式 1.JavaScript和DOM [返回] 文档对象模型(Document O ...

  7. 20165305 苏振龙《Java程序设计》第六周学习总结

    第八章知识点 熟练掌握String类的常用方法. 掌握String类的和StringBuffer类的不同,以及二者之间的联系. 使用StringTokenizer,Scannner类分析字符串,获取字 ...

  8. 【JavaScript】JS从入门到深入(复习查漏向

    [JavaScript]JS从入门到深入(复习查漏向 pre 精细得学过一遍JS后才发现,原来之前CTF中有些nodejs的题目以及一些游戏题的payload就变得很好理解了. 基础知识 ECMASc ...

  9. JavaScript 框架设计

    JavaScript 高级框架设计 在现在,jQuery等框架已经非常完美,以致于常常忽略了JavaScript原生开发,但是这是非常重要的. 所以,我打算写一个简单的框架,两个目的 熟练框架的思想 ...

随机推荐

  1. C#判断字符串是否是数字最简单的正则表达式

    if (theStr!= null)//注意加非空判断,否则报错 { System.Text.RegularExpressions.Regex rex = new System.Text.Regula ...

  2. bzoj3681: Arietta(网络流)

    传送门 主席树优化建图? 然而我连代码都看不懂 贴个题解好了->这里 //minamoto #include<iostream> #include<cstdio> #in ...

  3. 转载 jQuery 整理的很详细,基本都在里面

    jQuery 函数     CSS 函数 $(a).css(name)     获取name属性值 $(a). css(name,value)      设置name的属性值 $(a).css({}) ...

  4. 原生JS轮播-各种效果的极简实现

    寒假持续摸鱼中~此为老早以前博客的重写,当时还是分开写的,这里汇总重写,正好复习一遍~ 春招我来了! 所有有意思的,一股脑先扔进收藏,然后再也不看哈哈,真是糟糕. 今日事,今日毕,说起来容易. 当时竟 ...

  5. maven jetty 插件 允许修改 js

    <!--允许修改js,css--> <servlet> <servlet-name>default</servlet-name> <init-pa ...

  6. P2308 添加括号(区间DP)

    题目背景 给定一个正整数序列a(1),a(2),...,a(n),(1<=n<=20) 不改变序列中每个元素在序列中的位置,把它们相加,并用括号记每次加法所得的和,称为中间和. 例如: 给 ...

  7. leetcode 91. 解码方法

    题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数 ...

  8. POJ 2796:Feel Good 单调栈

    题目,给定一个数列,n <= 1e5 .要求找出一个区间,使得其内区间最小值 * 区间总和的值最大,要求输出区间. 首先先维护一个单调递增的栈,同时记录一个lef值表示:lef[i]表示当前栈内 ...

  9. 【密码学】SSL双向认证以及证书的制作和使用

    客户端认证服务器: 正规的做法是:到国际知名的证书颁发机构,如VeriSign申请一本服务器证书,比如支付宝的首页,点击小锁的图标,可以看到支付宝是通过VeriSign认证颁发的服务器证书: 我们用的 ...

  10. ElasticSearch java API 按照某个字段排序

    searchRequestBuilder.addSort("publish_time", SortOrder.DESC); 按照某个字段排序的话,hit.getScore()将会失 ...